PowerShell 활동 생성

  • 릴리스 버전: Zurich
  • 업데이트 날짜 2025년 07월 31일
  • 소요 시간: 5분
  • 사용자 지정 PowerShell 활동을 생성하고 Microsoft PowerShell을 사용하여 호스트에서 워크플로우로 데이터를 반환합니다.

    시작하기 전에

    필요한 역할: activity_creator 또는 workflow_admin

    이 태스크 정보

    ServiceNow 는 PowerShell 3.0에서 5.1까지 지원합니다.

    프로시저

    1. 사용자 지정 활동을 생성합니다.
      이 작업은 템플릿을 사용하여 사용자 지정 활동을 생성합니다.
    2. 일반 속성을 설정하고 입력 변수를 생성한 후 PowerShell 실행 명령을 구성합니다.
      옵션설명
      입력 변수를 매핑합니다. 생성한 변수를 사용하여 오케스트레이션이 MID 서버에서 실행하는 명령을 구성합니다.
      대상 호스트 이 PowerShell 활동에 대한 대상 서버의 호스트 이름 또는 IP 주소입니다.
      스크립트 유형 PowerShell 호스트에서 실행할 PowerShell 스크립트의 유형입니다. 사용할 수 있는 옵션은 다음과 같습니다.
      • 사용자 지정 PowerShell 명령
      • MID 서버 스크립트 파일
      MID 서버 스크립트 파일 MID 서버 스크립트 파일에는 PowerShell 스크립트가 포함되어 있습니다. 선택한 스크립트 유형이 MID 서버 스크립트 파일인 경우 이 필드를 사용할 수 있습니다.
      명령 활동이 실행되는 PowerShell 명령입니다. 선택한 스크립트 유형이사용자 지정 PowerShell 명령인 경우 이 필드를 사용할 수 있습니다. 변수 작성기에서 이 필드로 입력 변수를 끌어서 놓아 명령을 생성할 수 있습니다.
      PowerShell 변수 PowerShell을 사용하여 호스트에 전달할 이름-값 쌍입니다. 이러한 변수를 수동으로 생성하거나 입력 변수를 필드로 끌어다 놓을 수 있습니다. 암호화된 입력 변수는 이 필드의 데이터 유형 설정에 관계없이 암호화를 유지합니다. 값을 입력하고 암호화된 데이터 유형을 선택하면 값이 일반 텍스트로 표시됩니다. ECC 큐로 전달될 때만 암호화됩니다.
      MID 서비스 계정 사용 선택하면 이 활동은 다른 자격 증명을 시도하지 않고 MID 서버 서비스 계정의 자격 증명만 사용하여 대상 호스트에서 인증합니다.
      주:
      자격 증명 태그 필드를 사용할 수 없습니다.
      자격 증명 태그 호스트에서 PowerShell 명령을 실행하는 데 이 활동이 사용해야 하는 자격 증명 태그입니다. 이 필드를 비워 두면 MID 서버는 유효한 자격 증명을 찾을 때까지 사용 가능한 모든 자격 증명을 시도하며 MID 서버 서비스 계정으로 끝납니다. 자격 증명 태그가 정의되어 있으면 MID 서버는 해당 태그가 지정된 자격 증명만 시도하고 MID 서버 서비스 계정은 시도하지 않습니다.
      주:
      MID 서비스 계정 사용 확인란을 선택한 경우에는 이 필드를 사용할 수 없습니다.
      필요한 MID 서버 역량 기능별로 PowerShell을 쿼리하는 데 사용할 MID 서버입니다. 기본적으로 시스템은 PowerShell MID 서버를 선택합니다.
      주:
      테스트 페이로드의 매개변수 값을 출력 탭의 변수에 자동으로 매핑할 수 있습니다. 자동 매핑 출력 변수의 내용을 참조하십시오.

    다음에 수행할 작업

    출력 변수를 만들거나구문 분석 규칙을 만들거나조건을 만들어 PowerShell 활동 만들기를 마칩니다. 템플릿 옵션을 알아보려면 사용자 지정 활동 생성 주제를 참조하십시오.

    PowerShell 템플릿 실행 매개변수

    실행 매개변수를 사용하여 활동 디자이너의 전처리 양식에서 입력 프로세스 스크립트를 생성합니다.

    Powershell 명령 필드에 대한 설명은 의 PowerShell 실행 명령 구성테이블을 참조하십시오.
    주:
    이 테이블의 모든 변수에 executionParam. 접두사를 사용해야 합니다.
    표 1. Powershell 실행 매개 변수
    이름 변수 유형 사용법
    소스 소스 문자열 명령을 실행할 대상 호스트입니다.
    스크립트 유형 script_type 열거형 실행할 스크립트의 유형입니다. 가능한 유형은 다음과 같습니다.
    • 명령: 사용자 지정 PowerShell 명령.
    • 파일: 실행할 MID 서버 스크립트 파일을 식별합니다.
    명령 command 문자열 대상 호스트에서 실행되도록 MID 서버로 전송되는 명령입니다.
    MidScriptFile midScript파일 참조 script_type파일일 때 실행할 MID 서버 스크립트 파일의 참조 sys_id입니다.
    Powershell변수 powershell변수 해시 맵 배열 각 객체의 이름, 유형이 있는 JavaScript 객체의 해시맵입니다. 각 개체의 형식은 입력 탭에서 선택한 PowerShell 변수 형식에 해당하는 일반, 암호화,부울 또는 null 중 하나일 수 있습니다. 예를 들어 다음과 같이 입력할 수 있습니다.
    var newParameter = {"name":"parameterName","value":"parameterValue", "type": "plain" };
    executionParam.powershellVariables.push(newParameter);
    자격 증명 태그 credential_tag 문자열 이 활동이 호스트에서 PowerShell 명령을 실행하는 데 사용해야 하는 특정 자격 증명 태그입니다.
    MID 역량 MID 역량 문자열(쉼표로 구분) 필요한 MID 서버 역량 목록입니다.
    ValueCapabilities 값 역량 해시 맵 배열 MID 서버를 선택하는 데 사용되는 역량 값입니다. 자세한 내용은 MID 서버 기능을 참조하십시오. 값으로 할당된 추가 역량이 있는 경우 다음 예시를 사용하여 MID 서버 선택을 사용자 지정합니다.
    var valueCapability = {'NEW_MID_CAPABIILTY':'NEW_MID_CAPABILITY_VALUE'};
    executionParam.valueCapabilities.push(valueCapability);

    Powershell 후처리 매개변수 및 페이로드 구문 분석

    이러한 매개변수를 사용하여 후처리 스크립트, 페이로드 구문 분석 및 태그 지정을 생성합니다.

    표 2. Powershell 후처리 매개변수
    이름 변수 유형 사용법
    태그 태그 PowerShell 명령에서 반환할 태그 값의 해시맵입니다. PowerShell 명령을 사용하여 출력을 추출하는 데 사용되는 태그를 포함합니다. 태그 출력은 %%tagname%% ... %%와 같이 이중 백분율 기호로 구분됩니다. 다음 예시의 형식을 사용하여 명령을 설정합니다.
    Write-Host %%tagname1%%
    output1 line 1
    output1 line 2
    …
    Write-Host%%
    
    Write-Host %%tagname2%%
    output2 line 1
    output2 line 2
    …
    Write-Host%%

    반환되는 태그는 각 키 앞에 tagname이 추가된 태그가 있는 JavaScript 해시 맵 객체입니다.

    {"__text__": "", 
    "tagtagname1":"output1 line1\noutput1 line2\n", 
    "tagtagname2":"output2 line1\noutput2 line2\n"}
    Hresult HRESULT 문자열 PowerShell 명령에서 반환된 hresult 를 포함합니다. HRESULT가 반환되지 않으면 이 매개 변수는 null입니다.
    출력 출력 문자열 PowerShell 명령의 원시 출력을 포함합니다.
    EccSysID eccSysID 문자열 활동에서 반환한 ECC 큐 입력 메시지와 연결된 참조 ID를 포함합니다.
    오류 메시지 errorMessages 문자열 PowerShell 명령에서 검색된 모든 오류 메시지를 포함합니다. 오류 메시지가 없는 경우 이 값은 null 입니다.