Before executing a power-down action, NightWatchman will poll its 1E Agents to determine what their respective client statuses are when a user is logged on to the system. If a client fails to shutdown, the agent will write the cause to its Nightwatchman.log on the client.

The events that are likely to prevent NightWatchman from executing a power-down action are:

  • Log off actions:
    • Keep Active (LOGOFFACTION=ACTIVE) – users are given the opportunity to postpone a log-off. If they are not present and the countdown timer dialog expires, log-off will occur. Log-off will be stopped if any scripts generate an error. 
    • Passive ( LOGOFFACTION=PASSIVE)– log-off is not actioned if a user is logged on.
  • Maintenance Window – prevents a client from shutting down if a maintenance window is in progress. 
  • Configuration Manager pending jobs – defines the power-down behavior according to pending Configuration Manager jobs. Pending Configuration Manager jobs which can prevent a power-down are:
    • SMS running deployments: WaitingDisabled, WaitingDependency,WaitingEnvironment, ReportStatusAtReboot, AdvancedDownload, WaitingContent, Ready,Completed, WaitingRetry, WaitingServiceWindow, Paused, Resuming, Running, AdvancedDownload, Unprocessed, ReportStatusAtReboot, Completed, NotExist, NotifyExecution, NotifyReboot, NotifyLogoff, Failure 
      (WaitingDisabled, WaitingEnvironment, ReportStatusAtReboot, AdvancedDownload are pre-configured to allow a shutdown to continue)
    • SMS running software updates: None, Available, PendingSoftReboot, PendingHardReboot, WaitReboot, InstallComplete, Error, WaitingServiceWindow, WaitInstall, Installing, Verifying
    • Registry keys: You can modify the these registry keys by adding a comma separated list of Configuration Manager jobs to ignore – the list of values are detailed in SMS running deployments and SMS running software updates above.
      • HKLM\SOFTWARE\1E\Nightwatchman\AllowedShutdownJobStates – contains a list of deployment jobs that will not prevent the shutdown
      • HKLM\SOFTWARE\1E\Nightwatchman\AllowedShutdownUpdateStates – contains a list of update jobs that will not prevent the shutdown
      • HKLM\SOFTWARE\1E\Nightwatchman\ConsideredApplicationEvaluationStates (on SCCM 2012 Apps) – contains a list of jobs that will prevent the shutdown. See  Nightwatchman fails to shut down a system due to SMS\ConfigMgr jobs in progress for further details.
  • Last man standing – prevents a power-down event if the client is on  a subnet
  • Process exceptions –  before a scheduled NightWatchman event takes place, it checks to see if any of the the processes in the list are running and will abort the event if found.
  • 1E Nomad download in-progress – you cannot shutdown a machine if it is a designated Nomad master and there are peers actively downloading content from it
  • Machine capabilities – adjusts the type of action based on machine’s power capabilities (for example, by design, if a machine is in a hibernate state, it cannot be shutdown or if a particular hardware does not support the power-off setting).