asp.net - 使用 Powershell 从 Servicenow 票证下载附加的 excel 文件

标签 asp.net powershell servicenow servicenow-rest-api

我目前正在开发一个 powershell 脚本,它应该能够从服务现在票下载附加的 excel 文件,在我解释更多之前,请参阅下面的自动化的基本流程。

  • 将要求用户输入票号。

  • enter image description here
  • 然后系统会找到那个事故单,准确的拿到需要的excel文件(我在网上看到需要使用sys_id)。
  • 然后它将被下载到用户机器上的特定路径。例如:“C:\下载\演示\”。

  • 完成所有这些之后,我在网上找到了一个示例脚本,我正在尝试对其进行配置以满足我的需求;但是,我不确定从哪里获取该示例脚本的值。您可以检查脚本下方的项目符号以了解我想到的问题。
    $IncidentNumber = Read-Host -Prompt 'Enter Incident Request #'
    #$admin = "admin"
    #$password = "admin" | ConvertTo-SecureString -AsPlainText -Force 
    #$Credential = New-Object pscredential -ArgumentList ($admin,$password)
    $Uri = "https://dev42835.service-now.com/api/now/table/incident?sysparm_query=number=$($IncidentNumber)&sysparm_fields=sys_id&sysparm_limit=1"
    $IncidentResult = Invoke-RestMethod -Uri $Uri #-Method Get -Credential $Credential
    if($IncidentResult.result.sys_id -ne $null) {
        $IncidentAttachments = Invoke-RestMethod -Uri "https://dev42835.service-now.com/api/now/attachment?sysparm_query=table_sys_id=$($IncidentResult.result.sys_id)" #-Method Get -Credential $Credential
        $IncidentAttachments.result | Select file_name , download_link
    }
    else{
        "Incident Not Found!"
    }
    
  • 我真的需要凭据来运行脚本吗?如果是,有没有办法
    删除凭据的需要?
  • 我在哪里可以获得分配给 $URI 变量的 URL?

  • 我是 powershell 自动化的新手,所以如果您能推荐更好的方法,我将不胜感激。

    最佳答案

    是的,您需要凭据。

    您的 URI 是 servicenow 实例的 URL。更改 dev42835 部分以匹配。如果您不确定您的实例,请联系 servicenow 支持。
    https://dev42835.service-now.com

    如果您使用 REST API 资源管理器,您可以查看 API 端点和版本,这将有助于形成您的请求。您确实需要具有 rest_api_explorer 角色才能访问 REST API Explorer。如果您没有此角色,请联系您的 service-now 管理员请求它。

    https://docs.servicenow.com/bundle/geneva-servicenow-platform/page/integrate/inbound_rest/task/t_GetStartedAccessExplorer.html

    关于asp.net - 使用 Powershell 从 Servicenow 票证下载附加的 excel 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60202709/

    相关文章:

    servicenow - 立即服务,从哪里开始?

    javascript - 如何始终解析相对于我的 Web 应用程序根目录的 URL?

    类似 Powershell、-gt 等

    Powershell 为所有应用程序池设置 ManagedPipeline

    powershell - Powerpoint的禁用和自动恢复选项

    rest - 如何使用 powershell 脚本使用 SNOW OAuth REST API 对用户进行身份验证?

    javascript - ServiceNow UI 页面 GlideAjax

    javascript - 使用 Javascript 选择其中一项时如何禁用复选框列表中的其他项目

    忽略 AJAX 请求的 ASP.NET URL 重写规则

    asp.net - Page_Load 在 ASP.NET 页面中触发两次