0
我有下面的Powershell線我想傳遞參數,但是我沒有任何運氣。將參數傳遞到Powershell中的字符串
{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」= 「值1」; 「KEY2」= 「VALUE2」; ...} – TToni
您可能還想看看這個答案:http://stackoverflow.com/questions/35722865 – TToni