我只是试图通过powershell从Service_id或数字中提取ServiceNow中的事件或变更请求及其详细信息。我甚至不知道从哪里开始。任何帮助将不胜感激!
答案 0 :(得分:2)
在GitHub中查看这个项目:
答案 1 :(得分:2)
ServiceNow为平台中的每个表公开标准REST API。以下是ServiceNow Table API的文档。如果要检索特定的事件记录,可以向以下端点发出GET
请求:
https://instancename.service-now.com/api/now/table/incident/{incident_sys_id}
您可以将此功能与PowerShell的Invoke-RestMethod cmdlet结合使用,以实际提取详细信息。示例:
$cred = Get-Credential
$uri = 'https://instance.service-now.com/api/now/table/incident/{incident_sys_id}'
Invoke-RestMethod -Uri $uri -Credential $cred
通过更改URL的表部分,可以为系统中的任何表实现类似的结果。
答案 2 :(得分:0)
我明白了。我最终需要按数字而不是sys_id来提取,因为通过INC编号更容易获得最终用户输入。因此,我需要做一些不同的事情。
$SNowUser = “YOURuserid”
$SNowPass = ConvertTo-SecureString –String “yourpasswordgoeshere” –AsPlainText -Force
$SNowCreds = New-Object –TypeName System.Management.Automation.PSCredential –ArgumentList $SNowUser, $SNowPass
$headers = @{
Accept = “application/json”
}
$body = @{ #Create body of the POST request
number='INC1234567'
}
$bodyJson = $body | ConvertTo-Json
$go = Invoke-RestMethod -Credential $SNowCreds -Headers $headers -Method GET -Uri “https://yourenvironment.service-now.com/api/now/table/incident” -Body $body -ContentType “application/json”
对于像我这样的新手,我认为这可能会有所帮助。这有助于我得到答案:
当输入是GET请求,并且正文是IDictionary(通常是哈希表)时,正文将作为查询参数添加到URI中。对于其他请求类型(例如POST),正文设置为标准名称=值格式的请求正文的值
希望这有助于某人!