PowerShell 단계

  • 릴리스 버전: Zurich
  • 업데이트 날짜 2025년 07월 31일
  • 소요 시간: 9분
  • ServiceNow 인스턴스에서 MID 서버를 통해 원격 시스템에서 PowerShell 스크립트를 실행합니다.

    PowerShell은 Windows .NET Framework를 기반으로 하며 Windows 컴퓨터 및 응용 프로그램 관리를 제어하고 자동화하도록 설계되었습니다. ServiceNow 는 PowerShell 3.0에서 7.4까지 지원합니다. PowerShell 3.0은 Windows 2003 Server를 지원하지 않습니다.

    주:
    이 단계를 수행하려면 통합 허브 구독이 필요합니다. 자세한 내용은 법무 일정 - 통합 허브 개요를 참조하십시오.

    PowerShell 버전

    기본적으로 통합 허브 는 PowerShell 버전 3.0 - 5.1을 지원합니다. 최신 버전을 사용하려면 MID 서버 속성을 추가하고 mid.property.ihub.prefer_powershell6Plustrue로 설정합니다.
    주:
    PowerShell 버전 6.0 이상은 MID Server에 사전 설치되어 있지 않습니다. 최신 PowerShell 버전을 수동으로 설치해야 합니다. 이전 버전(PowerShell 3.0에서 5.1)과 최신 버전(PowerShell 6.0에서 7.4)은 모두 동일한 MID 서버. 최신 버전의 PowerShell로 업그레이드하기 전에 사용자 통합 허브 지정 PowerShell 스크립트를 테스트하여 모든 것이 작동하는지 확인합니다.

    역할 및 가용성

    작업 단계로 워크플로우 스튜디오 사용할 수 있습니다. action_designer 역할을 가진 사용자는 하나 이상의 작업 단계로 사용자 지정 작업을 생성할 수 있습니다.

    필드

    필드 설명
    연결 사용할 연결의 유형입니다.
    • 연결 인라인 정의: 동작 단계 내에서 연결 정보를 정의합니다.
    • 연결 별칭 사용: 연결 별칭 테이블을 사용하여 연결 정보를 정의합니다. 별칭을 사용하면 여러 환경에서 작업을 사용할 때 여러 자격 증명과 연결 정보 프로필을 구성하지 않아도 됩니다. 마찬가지로 연결 정보가 변경되면 사용자 지정 동작을 업데이트할 필요가 없습니다.

    연결 및 자격 증명에 대한 자세한 내용은 자격 증명, 연결 및 별칭 소개를 참조하세요.

    연결 별칭 시스템에서 작업 단계를 실행하는 데 사용하는 연결 및 자격 증명 별칭 기록입니다. flow_designer 또는 관리자 역할을 가진 사용자는 연결된 연결 기록을 만들거나 선택할 수 있습니다. 별칭을 사용하면 여러 환경에서 작업을 사용할 때 여러 자격 증명과 연결 정보 프로필을 구성하지 않아도 됩니다. 마찬가지로 연결 정보가 변경되면 사용자 지정 동작을 업데이트할 필요가 없습니다. 연결 및 자격 증명에 대한 자세한 내용은 자격 증명, 연결 및 별칭 섹션을 참조하세요. 자격 증명 값은 데이터 패널에 암호(2단계 암호화됨) 데이터 알약으로 표시됩니다.
    주:
    이 필드는 연결 목록에서 연결 별칭 사용을 선택한 경우에 사용할 수 있습니다.
    자격 증명 별칭 시스템에서 작업 단계를 실행하는 데 사용하는 자격 증명 별칭입니다. flow_designer 또는 관리자 역할을 가진 사용자는 연결된 연결 기록을 만들거나 선택할 수 있습니다. 별칭을 사용하면 여러 환경에서 작업을 사용할 때 여러 자격 증명을 구성하지 않아도 됩니다. 마찬가지로 자격 증명 정보가 변경되면 사용자 지정 작업을 업데이트할 필요가 없습니다. 연결 및 자격 증명에 대한 자세한 내용은 자격 증명, 연결 및 별칭 섹션을 참조하세요. 자격 증명 값은 데이터 패널에 암호(2단계 암호화됨) 데이터 알약으로 표시됩니다.
    주:
    이 필드는 연결 목록에서 연결 인라인 정의(Define Connection Inline )를 선택한 경우에 사용할 수 있습니다.
    호스트 시스템에서 작업 단계를 실행하는 대상 호스트의 표준화된 도메인 이름을 지정합니다. 예를 들어 host.domain.com.
    주:
    이 필드는 연결이연결 인라인 정의인 경우에만 표시됩니다.
    포트 대상 호스트가 연결을 수신하는 통신 포트를 지정합니다. 예: 5985. 기본 포트를 사용하려면 비워 둡니다.
    주:
    이 필드는 연결이연결 인라인 정의인 경우에만 표시됩니다.
    MID 선택 특정 MID 서버 또는 MID 클러스터를 선택하는 옵션입니다. 다음 옵션 중 하나를 선택합니다.
    • MID 서버 자동 선택: ServiceNow 인스턴스에서 수동 입력 없이 MID MID 서버 서버를 선택합니다.
    • 특정 MID 서버: 인스턴스에서 ServiceNow 지정한 것을 사용합니다 MID 서버 .
    • 특정 MID 클러스터: 인스턴스는 ServiceNow 지정한 MID 클러스터를 사용합니다.

      MID 클러스터는 인스턴스에서 ServiceNow 여러 통합을 처리하고 통합 속도를 개선할 수 있는 MID Server 그룹입니다. 자세한 내용은 Configure a MID Server cluster 문서를 참조하십시오.

    이 필드는 연결 목록에서 연결 인라인 정의 를 선택한 경우에 사용할 수 있습니다.
    MID 애플리케이션 선택 자격을 얻기 위해 MID 서버 에서 지원해야 하는 애플리케이션을 지정합니다. 시스템은 선택한 애플리케이션을 지원하는 MID 서버에서 작업 단계를 실행합니다. 이 필드에 데이터 알약을 사용하는 경우 알약은 MID 애플리케이션 기록이 아니라 MID 애플리케이션의 이름을 참조해야 합니다. 이 필드는 연결 목록에서 연결 인라인 정의 가 선택되고 MID 선택 목록에서 MID 서버 자동 선택이 선택된 경우에 사용할 수 있습니다.
    역량 선택 자격을 갖추기 위해 지원해야 하는 MID 서버 역량입니다. 시스템은 선택한 기능을 지원하는 작업 MID 서버 단계를 실행합니다. 이 필드는 연결 목록에서 연결 인라인 정의 가 선택되고 MID 선택 목록에서 MID 서버 자동 선택이 선택된 경우에 사용할 수 있습니다.
    MID 서버 [ecc_agent_list] 기록에 대한 sys_id 참조를 포함하는 데이터 알약입니다 MID 서버 . 이 필드는 연결 목록에서 연결 인라인 정의를 선택하고 MID 선택 목록에서 특정 MID 서버를 선택한 경우에 사용할 수 있습니다.
    MID 클러스터 사용하려는 MID 클러스터에 대한 데이터 정제입니다. 이 필드는 연결 목록에서 연결 인라인 정의 를 선택하고 MID 선택 목록에서 특정 MID 클러스터 를 선택한 경우에 사용할 수 있습니다.
    원격 유형 MID 또는 원격 서버와 같이 PowerShell 스크립트가 실행되는 위치입니다.
    • 명시적 원격(가장 일반적): 원격 서버와의 연결을 설정하고 원격 서버에서 스크립트를 실행합니다.
    • 암시적 리모팅(고급): 원격 서버에서 필요한 모듈을 가져오는 동안 스크립트를 MID 서버 실행합니다. 선택하는 경우 원격 이름 프리픽스임포트할 모듈 필드를 정의합니다. 최적의 성능을 위해 단계에 필요한 모듈만 임포트합니다. 공백인 경우 사용 가능한 모든 모듈이 서버에서 임포트됩니다.
    • MID 서버에서 실행하거나 스크립트를 통해 원격 세션을 설정하게 합니다. 에서 직접 MID 서버스크립트를 실행하거나 스크립트 내에서 원격 사양을 정의합니다. 이 값은 기본값입니다.
    주:
    PowerShell 스크립트 명령 또는 PowerShell 스크립트 파일에서 함수를 호출하려면 함수에 입력 매개 변수가 있는 경우 명령에서 함수 매개 변수 블록을 정의해야 합니다. 이 요구 사항은 명시적 및 암시적 리모팅에 적용됩니다. 블록에 대한 param 자세한 내용은 Windows Powershell 매개 변수에 https://technet.microsoft.com/대한 Microsoft 설명서를 참조하십시오.
    원격 이름 프리픽스 파일 이름을 제외한 파일 경로로, 원격 서버에서 로드할 모듈로 이동합니다.
    주:
    이 필드는 원격 유형이암시적 리모팅(고급)인 경우에만 표시됩니다.
    임포트할 모듈 정의된 파일 경로에서 원격 서버에서 임포트할 모듈의 쉼표로 구분된 목록입니다.
    주:
    이 필드는 원격 유형이명시적 원격(가장 일반적) 또는 암시적 원격(고급)인 경우에만 표시됩니다.
    테스트 PowerShell 단계 PowerShell 단계에 대해 구성된 자격 증명을 테스트하는 버튼입니다. 자세한 내용은 PowerShell 단계에 대한 자격 증명 테스트를 참조하세요.
    스크립트 유형 PowerShell 호스트에서 실행할 스크립트의 유형입니다.
    • 인라인 스크립트: 단계의 명령 필드에서 실행할 스크립트를 입력합니다.
    • MID 서버 스크립트 파일: 스크립트 파일 [ecc_agent_script_file] 테이블에서 실행할 MID 서버 PowerShell 스크립트를 선택합니다. 이 값은 기본값이며 스크립팅 논리를 작업과 분리하므로 작업을 수정하고 재배포할 필요 없이 스크립트를 업데이트할 수 있습니다.
    MID 서버 스크립트 스크립트 파일 테이블 [ecc_agent_script_file]에서 미리 MID 서버 정의된 PowerShell 스크립트.
    주:
    이 필드는 스크립트 유형이MID 서버 스크립트 파일인 경우에만 사용할 수 있습니다.
    스크립트 경로 선택한 MID 서버 스크립트에 대한 읽기 전용 경로입니다.
    주:
    이 필드는 스크립트 유형이MID 서버 스크립트 파일인 경우에만 표시됩니다.
    입력 변수 PowerShell 스크립트 변수의 값을 나타내는 선택적 이름-값 쌍입니다. PowerShell 스크립트 내에서 다른 단계의 작업 입력 및 데이터를 사용할 수 있습니다. 각 변수에 대해 다음 필드를 정의합니다.
    • 이름: 값을 전달할 스크립트 변수의 이름입니다. 이름이 예약되거나 금지된 PowerShell 변수와 일치할 수 없습니다. 일부 변수 이름은 내부 처리를 위해 예약되어 있으며 입력 변수로 사용하면 안 됩니다. PowerShell 스크립팅 변수에서 예약된 변수를 참조하세요.
    • 유형: PowerShell 변수의 유형입니다. 일반 텍스트, 암호화됨 또는 부울을 선택합니다. 암호화를 선택하면 값이 이 필드에 일반 텍스트로 나타나고 ECC 큐로 전달될 때만 암호화됩니다.
    • : 변수에 매핑할 값입니다. 값을 수동으로 입력하거나 데이터 알약을 필드로 끌어다 놓습니다.
    명령 대상 호스트에서 실행할 인라인 PowerShell 스크립트입니다.
    주:
    이 필드는 스크립트 유형이인라인 스크립트인 경우에만 표시됩니다.

    작업 오류 평가

    이 단계가 실패할 경우
    데이터 유형: Choice

    다음 단계를 계속 실행하거나 오류 평가로 이동하는 옵션입니다. 사용자 지정 작업 오류 조건에 단계 상태 코드 또는 메시지를 사용하려면 다음 문서를 참조하십시오 작업 오류 평가.

    PowerShell 스크립팅 변수

    명령 필드에서 입력 변수에 액세스하려면 특수 구문을 사용하여 호출해야 합니다. 사용하는 구문은 시스템 속성의 값에 따라 달라집니다. 원격 유형이MID 서버에서 실행되거나 스크립트가 원격 세션을 설정하도록 하는 경우 입력 변수 외에 일부 예약된 변수를 사용할 수 있습니다.

    입력 변수 구문

    기본적으로 변수 이름 앞에 $ 문자를 붙입니다. 예를 들어, 입력 변수의 이름이 message인 경우 $message 를 사용하여 스크립트의 변수에 액세스합니다.

    매개변수가 mid.powershell.command.script.parameter_passing false로 설정된 경우 변수 이름 앞에 $env:SNC_를 붙입니다. 예를 들어, 입력 변수의 이름이 message인 경우 $env:SNC_message 를 사용하여 스크립트의 변수에 액세스합니다. 매개변수에 mid.powershell.command.script.parameter_passing 대한 자세한 내용은 MID 서버 매개변수 섹션을 참조하세요.

    예약된 변수

    원격 유형이MID 서버에서 실행되거나 스크립트가 원격 세션을 설정하도록 할 때 스크립트에서 다음 변수를 사용할 수 있습니다. 예약된 변수는 사용자 지정 입력 변수 이름으로 사용할 수 없습니다.

    예약된 변수 설명
    $computer 연결 별칭 기록에 정의된 호스트 IP 주소입니다.
    $cred 연결 기록에 정의된 자격 증명을 포함하는 자격 증명 객체입니다. 자격 증명 매개변수를 지원하는 모든 PowerShell cmdlet과 함께 이 변수를 사용합니다. 예: New-PSSession -credential $cred
    $log_info mid.property.powershell.log_info 속성이 true로 설정된 경우 PowerShell 스크립트에 로깅 정보를 추가합니다.

    다음 변수 이름은 내부 처리용으로 예약되어 있으며 입력 변수로 사용하면 안 됩니다.

    • 스크립트
    • useCred
    • isMid
    • 디스커버리
    • debug
    • 사용자
    • 암호
    • 실행 스크립트디렉터리
    • midScriptDirectory
    • HRESULT