ServiceNow-CS.psm1
param($table,$query,$body,$sys_id,$sntenant,$snuser,$snpass) function add-servicenow{ # Build auth header $base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f $snuser, $snpass))) $headers = New-Object "System.Collections.Generic.Dictionary[[String],[String]]" $headers.Add('Authorization',('Basic {0}' -f $base64AuthInfo)) $headers.Add('Accept','application/json') $headers.Add('Content-Type','application/json') # Specify endpoint uri $uri = "https://$sntenant.service-now.com/api/now/table/$table" # Send HTTP request $response = Invoke-WebRequest -Headers $headers -Method post -Uri $uri -Body $body } function get-servicenow{ $base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f $snuser, $snpass))) $headers = New-Object "System.Collections.Generic.Dictionary[[String],[String]]" $headers.Add('Authorization',('Basic {0}' -f "$base64AuthInfo")) $headers.Add('Accept','application/json') $headers.Add('Content-Type','application/json') $uri = "https://$sntenant/api/now/table/$table" + "?sysparm_query=$query" # Specify HTTP method $response = (Invoke-WebRequest -Headers $headers -Method $method -Uri $uri).content | ConvertFrom-Json | select -expand result return $response } function update-servicenow{ # Build auth header $base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f $snuser, $snpass))) # Set proper headers $headers = New-Object "System.Collections.Generic.Dictionary[[String],[String]]" $headers.Add('Authorization',('Basic {0}' -f $base64AuthInfo)) $headers.Add('Accept','application/json') $headers.Add('Content-Type','application/json') # Specify endpoint uri $uri = "https://$sntenant.service-now.com/api/now/table/$table/$sys_id" # Specify HTTP method $method = "patch" # Specify request body $response = Invoke-WebRequest -Headers $headers -Method $method -Uri $uri -Body $body } Export-ModuleMember -Function add-servicenow |