PowerShell
Kommunikation mit RESTful-APIs
Suche…
Einführung
REST steht für Representational State Transfer (Repräsentativer Zustandstransfer) (manchmal als "ReST" bezeichnet). Es basiert auf einem zustandslosen Client-Server-Protokoll, das zwischengespeichert werden kann, und es wird hauptsächlich das HTTP-Protokoll verwendet. Es wird hauptsächlich zum Erstellen von Web-Services verwendet, die leicht, wartbar und skalierbar sind. Ein auf REST basierender Dienst wird als RESTful-Dienst bezeichnet. Die dafür verwendeten APIs sind RESTful-APIs. In PowerShell wird Invoke-RestMethod
verwendet, um damit umzugehen.
Verwenden Sie Slack.com Incoming Webhooks
Definieren Sie Ihre Nutzdaten, die für möglicherweise komplexere Daten gesendet werden sollen
$Payload = @{ text="test string"; username="testuser" }
Verwenden Sie das ConvertTo-Json
Json und Invoke-RestMethod
, um den Aufruf auszuführen
Invoke-RestMethod -Uri "https://hooks.slack.com/services/yourwebhookstring" -Method Post -Body (ConvertTo-Json $Payload)
Nachricht an hipChat senden
$params = @{
Uri = "https://your.hipchat.com/v2/room/934419/notification?auth_token=???"
Method = "POST"
Body = @{
color = 'yellow'
message = "This is a test message!"
notify = $false
message_format = "text"
} | ConvertTo-Json
ContentType = 'application/json'
}
Invoke-RestMethod @params
Verwenden von REST mit PowerShell-Objekten zum Abrufen und Übertragen einzelner Daten
Rufen Sie Ihre REST-Daten ab und speichern Sie sie in einem PowerShell-Objekt:
$Post = Invoke-RestMethod -Uri "http://jsonplaceholder.typicode.com/posts/1"
Ändern Sie Ihre Daten:
$Post.title = "New Title"
Setzen Sie die REST-Daten zurück
$Json = $Post | ConvertTo-Json
Invoke-RestMethod -Method Put -Uri "http://jsonplaceholder.typicode.com/posts/1" -Body $Json -ContentType 'application/json'
Verwenden von REST mit PowerShell-Objekten zum Abrufen und POST vieler Elemente
Rufen Sie Ihre REST-Daten ab und speichern Sie sie in einem PowerShell-Objekt:
$Users = Invoke-RestMethod -Uri "http://jsonplaceholder.typicode.com/users"
Ändern Sie viele Elemente in Ihren Daten:
$Users[0].name = "John Smith"
$Users[0].email = "[email protected]"
$Users[1].name = "Jane Smith"
$Users[1].email = "[email protected]"
POST alle REST-Daten zurück:
$Json = $Users | ConvertTo-Json
Invoke-RestMethod -Method Post -Uri "http://jsonplaceholder.typicode.com/users" -Body $Json -ContentType 'application/json'
Verwenden von REST mit PowerShell zum Löschen von Elementen
Identifizieren Sie das Element, das gelöscht werden soll, und löschen Sie es:
Invoke-RestMethod -Method Delete -Uri "http://jsonplaceholder.typicode.com/posts/1"