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