Thank you for your feedback.
Form temporarily unavailable. Please try again or contact docfeedback@servicenow.com to submit your comments.
Versions
  • London
  • Kingston
  • Jakarta
  • Istanbul
  • Helsinki
  • Geneva
  • Store
Close

PowerShell probe

PowerShell probe

The PowerShell Probe executes PowerShell V2 scripts on the MID Server host.

PowerShell scripts are defined as probe parameters with the filename as the parameter name. It is available as a Probe probe type by specifying PowerShell as the probe's ECC queue topic.

PowerShell probe parameters

Parameter name Description Default
source [Required] The initial host to connect to. none

<script name>.ps1

[Required] The filename of the PowerShell script to run. Replace <script name> with a valid filename prefix. none

powershell_command_parameter_passing

Specifies whether to pass script parameters on the command line. Regardless of this parameter's value, ServiceNow makes all script parameters on the command line automatically available to PowerShell scripts as environment variables.

false
powershell_param_<script parameter name> Passes additional parameters to the PowerShell script to be executed. Each parameter will appear to the script as an environment variable in the format $env:SNC_<script parameter name>. Parameters with this prefix are not considered encrypted and are passed through to the script untouched. Make sure you select the appropriate parameter between powershell_param_<script parameter name> and powershell_<script parameter name>. Using the wrong prefix results in errors in the PowerShell execution, which is passed back to the instance in the ECC queue input. none

powershell_<script parameter name>

Passes additional parameters to the PowerShell script to be executed. Each parameter will appear to the script as an environment variable in the format $env:SNC_<script parameter name>. The MID Server assumes that any parameter with this prefix is encrypted and attempts to decrypt it. Make sure you select the appropriate parameter between powershell_param_<script parameter name> and powershell_<script parameter name>. Using the wrong prefix results in errors in the PowerShell execution, which is passed back to the instance in the ECC queue input none
debug

Enables debug log output during the probe.

false
credentials_debug Displays a <credentials_debug> section in the ECC queue, which can help you troubleshoot credentials. If you set this property to true, credential troubleshooting information is output to the ECC queue, even if the credentials succeed. false

Scripting requirements

Any custom PowerShell scripts must use environment variables to pass any non-Boolean command line parameter. Replace non-Boolean parameters in the Param() portion of the script with script variables of the same name. Define the script variable as part of the environment with an SNC_ prefix. So a string parameter such as this:

Param([string]$paramName)

Becomes a script variable such as the following:

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

For example, this parameter definition from the PSScript.ps1 script contains several string parameters that need to be redefined as script variables:

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

Defining the non-Boolean parameters as script variables would result in this type of 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
}

Create a custom PowerShell probe

You can create your own PowerShell probe and configure probe parameters.

  1. Navigate to Discovery Definition > Probes.
  2. Click New.
  3. Enter the following values.
    • Name: Any unique name
    • Probe Type: Probe
    • ecc_queue_topic: Powershell
  4. Right-click the form header and click Save.
  5. From the Probe parameters related list, click New.
  6. Create a probe parameter record for each parameter.
  7. Click Submit.