...
Code Block |
---|
<?xml version="1.0" encoding="ISO-8859-1"?>
<job process_class="my_Agent" stop_on_error="no">
<settings >
<log_level ><![CDATA[debug1]]></log_level>
</settings>
<script language="powershell">
<![CDATA[
# Use Write-Output or Echo cmdlets to write to the JobScheduler log
Write-Output "job: this is some output"
echo "job: this is some output"
# This does not work: Use of Write-Host cmdlet is not applicable
# Write-Host "job: this is some output"
# Standard PowerShell verbose setting is considered for log output
$VerbosePreference = "Continue"
Write-Verbose "job: this is some verbose output"
# Standard PowerShell debug setting is considered for log output
$DebugPreference = "continue"
# In addition the current log level of the job has to be set, e.g. log level "debug1" logs debug messages
Write-Debug "job: this is some debug output"
# creates a warning for the job
Write-Warning "job: this is a warning"
# can be used to throw an error
# Write-Error "job: this is an error"
]]>
</script>
<run_time />
</job> |
Explanations
- Using PowerShell standard output
- Use of the
Write-Output
andEcho
cmdlets is applicable. - Use of the
Write-Host
cmdlet is not applicable for PowerShell jobs as the cmdlet requires a PowerShell host console to be available (powershell.exe
), whereas JobScheduler runs PowerShell in a process without interaction.
- Use of the
- Using PowerShell verbose output
- The standard PowerShell verbosity setting is considered for log output
- Use
$VerbosePreference = "Continue"
- Subsequently use the
Write-Verbose
cmdlet.
- Using PowerShell debug messages
- The PowerShell debug setting is considered for log output in jobs by use of
$DebugPreference = "Continue"
- In addition, the current log level of the job has to be set, e.g. log level
debug1
will log debug messages.- With the JobScheduler log level being switched to
info
no debug output is written to the log file. - With the JobScheduler log level being switched to
debug1
,debug2
, ...,debug9
then debug output is added to the log.
- With the JobScheduler log level being switched to
- The PowerShell debug setting is considered for log output in jobs by use of
- Using PowerShell Warnings
- Warnings are created by use of the
Write-Warning
cmdlet. Such warnings create corresponding warnings in the JobScheduler Master that are visible from the log and that might trigger a notification by mail.
- Warnings are created by use of the
- Using PowerShell Error Messages
- Use of the
Write-Error
cmdlet will create a job error that is visible from the log and that triggers subsequent actions as e.g. notification by mail, stopping the job, suspending an order etc.
- Use of the
...
Code Block |
---|
<?xml version="1.0" encoding="ISO-8859-1"?> <job process_class="my_Agent"> <script language="powershell"> <![CDATA[ Import-Module JobScheduler # display summary information Show-Status # retrieve the number of available job chains ( Get-JobChain ).count # get the number of current tasks ( Get-Task ).count ]]> </script> <run_time /> </job> |
...