PowerShell 프로브
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
}