Probe do PowerShell
O PowerShell Probe executa scripts PowerShell V2 no host do MID Server.
Os scripts do PowerShell são definidos como parâmetros de probe com o nome do arquivo como o nome do parâmetro. Ele está disponível como um tipo de probe especificando o PowerShell como o tópico de fila ECC do probe.
Parâmetros de probe do PowerShell
| Nome do parâmetro | Descrição |
|---|---|
| origem | [Obrigatório] O host inicial ao qual se conectar. Padrão: Nenhum |
<script name>.ps1 |
[Obrigatório] O nome do arquivo do script PowerShell a ser executado. Substituir <script name>com um prefixo de nome de arquivo válido. Padrão: Nenhum |
powershell_command_parameter_passing |
Especifica se parâmetros de script devem ser aprovados na linha de comando. Independentemente do valor deste parâmetro, ServiceNow Disponibiliza automaticamente todos os parâmetros de script na linha de comando para scripts do PowerShell como variáveis de ambiente. Padrão: falso |
| powershell_param_<script parameter name> | Passa parâmetros adicionais para o script do PowerShell a ser executado. Cada parâmetro aparecerá para o script como uma variável de ambiente no formato $env:SNC_<script parameter name>. Os parâmetros com este prefixo não são considerados criptografados e são passados para o script intocado. Certifique-se de selecionar o parâmetro apropriado entre powershell_param_<script parameter name>e. powershell_<script parameter name>. Usar o prefixo incorreto resulta em erros na execução do PowerShell, que é passada de volta para a instância na entrada da fila do ECC. Padrão: Nenhum |
powershell_<script parameter name> |
Passa parâmetros adicionais para o script do PowerShell a ser executado. Cada parâmetro aparecerá para o script como uma variável de ambiente no formato $env:SNC_<script parameter name>. O MID Server presume que qualquer parâmetro com este prefixo está criptografado e tenta descriptografá-lo. Certifique-se de selecionar o parâmetro apropriado entre powershell_param_<script parameter name>e. powershell_<script parameter name>. Usar o prefixo incorreto resulta em erros na execução do PowerShell, que é passada de volta para a instância na entrada da fila do ECC Padrão: Nenhum |
| depurar | Habilita a saída do log de depuração durante a probe. Padrão: falso |
| credentials_debug | Exibe uma seção de <credentials_debug> na fila do ECC, que pode ajudar você a solucionar problemas de credenciais. Se você definir esta propriedade como verdadeira, as informações de solução de problemas de credenciais serão enviadas para a fila do ECC, mesmo que as credenciais sejam bem-sucedidas. Padrão: falso |
Requisitos de script
Todos os scripts PowerShell personalizados devem usar variáveis de ambiente para passar qualquer parâmetro de linha de comando não booliano. Substitua parâmetros não boolianos em Parâm() parte do script com variáveis de script com o mesmo nome. Defina a variável de script como parte do ambiente com um prefixo snc_. Um parâmetro de cadeia de caracteres como este:
Param([string]$paramName)Torna-se uma variável de script, como a seguinte:
if(test-path env:\SNC_paramName) {
$paramName = $env:SNC_paramName
}Por exemplo, esta definição de parâmetro do script PSScript.ps1 contém vários parâmetros de cadeia de caracteres que precisam ser redefinidos como variáveis de script:
Param([string]$computer, [string]$script, [string]$user, [string]$password, [boolean]$useCred, [boolean]$isDiscovery, [boolean]$debug)Definir os parâmetros não boolianos como variáveis de script resultaria neste tipo de script:
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
}