0
私は以下のPowerShellの行を持っています。私はパラメータを渡そうとしていますが、私は運がありません。Powershellの文字列にParamsを渡します。
{request.body ? "$body = \"" :""}}{\"node\":\"$node\",\"error_msg\":\"$error_msg\",\"source\":\"$source\",\"additional_info\":\"$additional_info\"}"}
完全なスクリプト:
Param(
[string]$node,
[string]$error_msg,
[string]$source,
[string]$additional_info
)
# Eg. User name="admin", Password="admin" for this code sample.
$user = "admin"
$pass = "password"
# Build auth header
$base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f $user, $pass)))
# 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://url.com/api/now/table/em_event"
# Specify HTTP method
$method = "post"
# Specify request body
{request.body ? "$body = \"" :""}}{\"node\":\"$node\",\"error_msg\":\"$error_msg\",\"source\":\"$source\",\"additional_info\":\"$additional_info\"}"}
# Send HTTP request
$response = Invoke-WebRequest -Headers $headers -Method $method -Uri $uri -Body $body
# Print response
$response.RawContent
'?'はPSでは動作しません。あなたはおそらく '$ body = if($ request.body){'{" foo ":" bar "}'}'を意味しました。 – wOxxOm
サイドノート: '$ headers = @ {" key1 "= "value1"; "key2" = "value2"; ...} ' – TToni
この回答を見ることもできます:http://stackoverflow.com/questions/35722865 – TToni