Public/New-WinSCPItemPermission.ps1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 |
function New-WinSCPItemPermission { [CmdletBinding( ConfirmImpact = "Low", HelpUri = "https://github.com/dotps1/WinSCP/wiki/New-WinSCPItemPermission", SupportsShouldProcess = $true )] [OutputType( [WinSCP.FilePermissions] )] param ( [Parameter()] [Switch] $GroupExecute, [Parameter()] [Switch] $GroupRead, [Parameter()] [Switch] $GroupWrite, [Parameter()] [Int] $Numeric, [Parameter()] [String] $Octal = $null, [Parameter()] [Switch] $OtherExecute, [Parameter()] [Switch] $OtherRead, [Parameter()] [Switch] $OtherWrite, [Parameter()] [Switch] $SetGid, [Parameter()] [Switch] $SetUid, [Parameter()] [Switch] $Sticky, [Parameter()] [String] $Text, [Parameter()] [Switch] $UserExecute, [Parameter()] [Switch] $UserRead, [Parameter()] [Switch] $UserWrite ) $filePermissions = New-Object -TypeName WinSCP.FilePermissions $shouldProcess = $PSCmdlet.ShouldProcess( $filePermissions ) if ($shouldProcess) { foreach ($key in $PSBoundParameters.Keys) { try { $filePermissions.$($key) = $PSBoundParameters.$($key) } catch { $PSCmdlet.WriteError( $_ ) } } Write-Output -InputObject $filePermissions } } |