PowerShell 프로브

  • 릴리스 버전: Washingtondc
  • 업데이트 날짜 2024년 02월 01일
  • 읽기4분
  • PowerShell 프로브는 MID Server 호스트에서 PowerShell V2 스크립트를 실행합니다.

    PowerShell 스크립트는 파일 이름이 매개변수 이름으로 포함된 프로브 매개변수로 정의됩니다. 프로브의 ECC 큐 항목으로 PowerShell을 지정하여 '프로브' 프로브 유형으로 사용할 수 있습니다.

    PowerShell 프로브 매개변수

    매개변수 이름 설명
    source [필수] 연결할 초기 호스트입니다.

    기본값: 없음

    <script name>.ps1

    [필수] 실행할 PowerShell 스크립트의 파일 이름입니다. <script name>을 올바른 파일 이름 프리픽스로 바꿉니다.

    기본값: 없음

    powershell_command_parameter_passing

    명령줄에서 스크립트 매개변수를 전달할지 여부를 지정합니다. 이 매개변수의 값에 관계없이 ServiceNow는 명령줄에서 모든 스크립트 매개변수를 PowerShell 스크립트에서 환경 변수로 자동으로 사용할 수 있게 합니다.

    기본값: false

    powershell_param_<script parameter name> 실행할 PowerShell 스크립트에 추가 매개변수를 전달합니다. 각 매개변수는 스크립트에 $env:SNC_<script parameter name> 형식의 환경 변수로 나타납니다. 이 프리픽스를 사용하는 매개변수는 암호화된 것으로 간주되지 않으며 스크립트에 그대로 전달됩니다. powershell_param_<script parameter name>powershell_<script parameter name> 사이에서 적절한 매개변수를 선택하는지 확인합니다. 잘못된 프리픽스를 사용하면 PowerShell 실행 시 오류가 발생하며 이는 ECC 큐 입력의 인스턴스에 다시 전달됩니다.

    기본값: 없음

    powershell_<script parameter name>

    실행할 PowerShell 스크립트에 추가 매개변수를 전달합니다. 각 매개변수는 스크립트에 $env:SNC_<script parameter name> 형식의 환경 변수로 나타납니다. MID Server에서는 이 프리픽스를 사용하는 모든 매개변수가 암호화되고 암호 해독을 시도한다고 가정합니다. powershell_param_<script parameter name>powershell_<script parameter name> 사이에서 적절한 매개변수를 선택하는지 확인합니다. 잘못된 프리픽스를 사용하면 PowerShell 실행 시 오류가 발생하며 이는 ECC 큐 입력의 인스턴스에 다시 전달됩니다.

    기본값: 없음

    debug 프로브 중 디버그 로그 출력을 사용하도록 설정합니다.

    기본값: false

    credentials_debug 자격 증명 문제 해결에 도움이 되도록 ECC 큐에 <credentials_debug> 섹션을 표시합니다. 이 속성을 true로 설정하면 자격 증명에 성공해도 자격 증명 문제 해결 정보가 ECC 큐로 출력됩니다.

    기본값: false

    스크립팅 요구 사항

    모든 사용자 지정 PowerShell 스크립트는 환경 변수를 사용하여 부울이 아닌 명령줄 매개변수를 전달해야 합니다. 스크립트의 Param() 부분에서 부울이 아닌 매개변수를 같은 이름의 스크립트 변수로 바꾸십시오. SNC_ prefix를 사용하여 스크립트 변수를 환경의 일부로 정의합니다. 따라서 다음과 같은 문자열 매개변수가 있습니다.

    Param([string]$paramName)

    다음과 같은 스크립트 변수가 됩니다.

    if(test-path env:\SNC_paramName) {
        $paramName = $env:SNC_paramName
    }

    예를 들어, PSScript.ps1 스크립트의 이 매개변수 정의에는 스크립트 변수로 재정의되어야 하는 여러 문자열 매개변수가 포함되어 있습니다.

    Param([string]$computer, [string]$script, [string]$user, [string]$password, [boolean]$useCred, [boolean]$isDiscovery, [boolean]$debug)

    부울이 아닌 매개변수를 스크립트 변수로 정의하면 다음과 같은 유형의 스크립트가 생성됩니다.

    Param([boolean]$useCred, [boolean]$isDiscovery, [boolean]$debug)
     
    # Copy the environment variables to the params
    if(test-path env:\SNC_computer) {
      $computer=$env:SNC_computer
    }
     
    if(test-path env:\SNC_script) {
      $script=$env:SNC_script
    }
     
    if(test-path env:\SNC_user) {
      $user=$env:SNC_user
      $password=$env:SNC_password
    }