Created
July 19, 2013 18:57
Revisions
-
Baskar Puvanathasan created this gist
Jul 19, 2013 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,38 @@ Import-Module ActiveDirectory #Import users via the PD API, echo results function POST_Request ($url,$parameters, $api_key) { $http_request = New-Object -ComObject Msxml2.XMLHTTP $http_request.open('POST', $url, $false) $http_request.setRequestHeader("Content-type", "application/json") $token = "Token token=" + $api_key $http_request.setRequestHeader("Authorization", $token) $http_request.setRequestHeader("Content-length", $parameters.length) $http_request.setRequestHeader("Connection", "close") $http_request.send($parameters) Write-Host "Server Response:" $http_request.statusText } $ad_group = Read-Host "Enter AD Group Name:" #Pull all users from the specified group within Active Directory Get-ADGroup $ad_group | % { $users = "Name,Email`r`n"; $_ | Get-ADGroupMember | % { $user = Get-ADUser $_ -Properties * $users += $user.Name + "," + $user.EmailAddress + "`r`n" } } #Get the authentication information and add each users via POST_Request $subdomain = Read-Host "Enter subdomain" $api_key = Read-Host "Enter API key" $requester_id = Read-Host "Enter Requester ID" $url = "https://" + $subdomain + ".pagerduty.com/api/v1/users" $parameters = New-Object Collections.Specialized.NameValueCollection; $users = ConvertFrom-Csv $users $users | % { Write-Host "Importing user:" $_.Name $parameters = "{`"requester_id`":`"" + $requester_id + "`",`"name`":`"" + $_.Name + "`",`"email`":`"" + $_.Email + "`"}" POST_Request $url $parameters $api_key }