Probe do PowerShell
A probe do PowerShell executa scripts do PowerShell V2 no host do MID Server.
Os scripts 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 PowerShell como o tópico de fila ECC da 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, ServiceNowTorna todos os parâmetros de script na linha de comando automaticamente disponíveis para scripts do PowerShell como variáveis de ambiente. Padrão: falso |
| powershell_param_<script parameter name> | Passa parâmetros adicionais para o script 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>. O uso do prefixo errado resulta em erros na execução do PowerShell, que é passada de volta para a instância na entrada da fila ECC. Padrão: Nenhum |
powershell_<script parameter name> |
Passa parâmetros adicionais para o script 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 assume 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>. O uso do prefixo errado resulta em erros na execução do PowerShell, que é passada de volta para a instância na entrada da fila 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 <credentials_debug> na fila 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 ECC, mesmo que as credenciais sejam bem-sucedidas. Padrão: falso |
Requisitos de script
Qualquer script personalizado do PowerShell deve usar variáveis de ambiente para passar qualquer parâmetro de linha de comando não booliano. Substitua parâmetros não boolianos no 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
}