Functions/Applications/Add-PASApplication.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 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 |
# .ExternalHelp psPAS-help.xml function Add-PASApplication { [CmdletBinding()] param( [parameter( Mandatory = $true, ValueFromPipelinebyPropertyName = $true )] [ValidateNotNullOrEmpty()] [ValidateLength(1, 127)] [ValidateScript( { $_ -notmatch '.*(\&).*' })] [string]$AppID, [parameter( Mandatory = $false, ValueFromPipelinebyPropertyName = $true )] [ValidateLength(0, 99)] [string]$Description, [parameter( Mandatory = $true, ValueFromPipelinebyPropertyName = $true )] [string]$Location, [parameter( Mandatory = $false, ValueFromPipelinebyPropertyName = $true )] [ValidateRange(0, 23)] [int]$AccessPermittedFrom, [parameter( Mandatory = $false, ValueFromPipelinebyPropertyName = $true )] [ValidateRange(0, 23)] [int]$AccessPermittedTo, [parameter( Mandatory = $false, ValueFromPipelinebyPropertyName = $true )] [datetime]$ExpirationDate, [parameter( Mandatory = $false, ValueFromPipelinebyPropertyName = $true )] [boolean]$Disabled, [parameter( Mandatory = $false, ValueFromPipelinebyPropertyName = $true )] [ValidateLength(0, 29)] [string]$BusinessOwnerFName, [parameter( Mandatory = $false, ValueFromPipelinebyPropertyName = $true )] [string]$BusinessOwnerLName, [parameter( Mandatory = $false, ValueFromPipelinebyPropertyName = $true )] [string]$BusinessOwnerEmail, [parameter( Mandatory = $false, ValueFromPipelinebyPropertyName = $true )] [ValidateLength(0, 24)] [string]$BusinessOwnerPhone ) BEGIN { }#begin PROCESS { #WebService URL $URI = "$Script:BaseURI/WebServices/PIMServices.svc/Applications" #Get request parameters $boundParameters = $PSBoundParameters | Get-PASParameter If ($PSBoundParameters.ContainsKey('ExpirationDate')) { #Convert ExpiryDate to string in Required format $Date = (Get-Date $ExpirationDate -Format MM-dd-yyyy).ToString() #Include date string in request $boundParameters['ExpirationDate'] = $Date } #Create Request Body $body = @{ 'application' = $boundParameters } | ConvertTo-Json #Send Request Invoke-PASRestMethod -Uri $URI -Method POST -Body $Body -WebSession $Script:WebSession }#process END { }#end } |