{}

Search FAQs

{"searchBar":{"inputPlaceholder":"Search by keyword or ask a question","searchBtn":"Search","error":"Please enter a keyword to search"}}

Command file is not running within PowerChute: How to check correct syntax usage.

Issue:
A command file is not running within PowerChute.

Product Line:
PowerChute Network Shutdown
PowerChute Business Edition

Environment:
All supported Windows Operating Systems.

NOTE: For assistance with Linux/Unix scripts see Schneider Electric FAQ PowerChute Network Shutdown for UNIX/Linux is not running shell scripts/command
Cause:
Syntax

Solution:

The command file runs using the local system account. PowerChute cannot execute programs that require interaction with the desktop; only command line enabled programs are supported, e.g., if you try to launch Notepad, it will fail. In earlier versions of Windows, all services run in Session 0 along with applications. This situation poses a security risk. In Windows Vista, and later versions of Windows, the operating system isolates services in Session 0 and runs applications in other sessions. PowerChute is run in Session 0, so if a command file launches a .exe, that .exe will be launched in Session 0 and not visible to the logged-in users. To verify that the .exe has launched open Task Manager and review the list of Processes running. More information on Windows Session can be found at http://blogs.technet.com/b/askperf/archive/2007/04/27/application-compatibility-session-0-isolation.aspx


NOTE: With the release of PowerChute Network, Shutdown 4.4, all command files and SSH files must reside in C:/Program Files/APC/PowerChute/user_files. When adding the file, the full path must be entered. Folder name alias (e.g., c:\progra~1\apc\…) is not acceptable.

To execute command files from PowerChute, you must use the correct syntax.
If the command file contains statements to run executable files (.exe), you must use the command called @START in the statements.

The @START command uses the following syntax rules:

The following examples illustrate the correct use of syntax for use with APC shutdown utilities as executables:

Example: An executable program with no spaces in the full pathname.
No quotes are required:
@START C:\APC\Oracle\PWRFAIL.BAT

quotes required:
@START C:"\Program Files\APC\PWRFAIL.BAT"

* Quotes are not needed when entering the PowerChute Network Shutdown 4.4 and above path.
Example: C:/Progam Files/APC/PowerChute/user_files/PWRFAIL.BAT

You can test that the command file operates correctly by running a simple command file.
  1. Create a directory, named apctest, directly to the C drive.
  2. Open a text editor e.g. Wordpad and enter the following line time /T >> C:\apctest\cmdtext.txt
  3. Save the file with the name Test.cmd
  4. Add Test.cmd to a PowerChute event and trigger the event.
  5. PowerChute will run the command file and add a file to C:\apctest named cmdtext.txt.
  6. Open cmdtext.txt with a text editor, and you will see the date and time Test.cmd ran.


When attempting to power down a remote system, the PowerChute service account must be changed from a Local System account to an account with permissions on the remote system to power it down.
In the screenshot, the account has been changed to wkadmin for the PowerChute Network Shutdown service. The same would need to be done for the PowerChute Business Edition Agent service.

PowerChute Business Edition Service Properties Window
The command file syntax used to shut down a remote server is
shutdown /s /f /m \\server ip /c "PowerChute has initiated a system shutdown" /t 0 Users should enter the proper ip address of their server and should adjust the /t (time delay) to meet their needs.

See Microsoft TechNet for more information on running the shutdown command https://technet.microsoft.com/en-us/library/bb491003.aspx

Did this answer your question?

Users group

Discuss this topic with experts

Visit our Community for first-hand insights from experts and peers on this topic and more.
Explore more
Explore more