Issue:
A command file is not running within PowerChute.
Product Line:
PowerChute Network Shutdown
PowerChute Business Edition
PowerChute Serial Shutdown
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, 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.
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.
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
The syntax for running a remote command on a Linux system using Putty/plink is
C:"\Program Files (x86)\PuTTY\plink.exe" -batch username@<ip address> -pw <users password> "command to be run on remote Linux system"
Example: C:"\Program Files (x86)\PuTTY\plink.exe" -batch myuser@192.168.0.100 -pw mypassword "shutdown -h now"
A command file is not running within PowerChute.
Product Line:
PowerChute Network Shutdown
PowerChute Business Edition
PowerChute Serial Shutdown
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, 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.
- Create a directory, named apctest, directly to the C drive.
- Open a text editor e.g. Notepad++ and enter the following line time /T >> C:\apctest\cmdtext.txt
- Save the file as a batch file
- Add Test.bat to a PowerChute event and trigger the event.
- PowerChute will run the command file and add a file to C:\apctest named cmdtext.txt.
- Open cmdtext.txt with a text editor, and you will see the date and time from when Test.bat 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.
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
The syntax for running a remote command on a Linux system using Putty/plink is
C:"\Program Files (x86)\PuTTY\plink.exe" -batch username@<ip address> -pw <users password> "command to be run on remote Linux system"
Example: C:"\Program Files (x86)\PuTTY\plink.exe" -batch myuser@192.168.0.100 -pw mypassword "shutdown -h now"