Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The kit contains the following files:

FileDescription
charon_cleanshutdown.ps1
Powershell
PowerShell main script
charon_cleanshutdown_Windows.expExpect script, launched by the Powershell script if 'expect' is selected
rsh.exeUsed if 'rsh' mode is selected
template.iniUsed to facilitate the creation of a customized configuration file for the CHARON instance
plink.exeTaken from www.putty.org and used with "expect" mode only (see further)
psexec.exe
Taken
Downloaded from Microsoft Sysinternals and used in case of integration to Windows shutdown

Shutdown command

Depending on the guest operating system running on the CHARON instance, the following commands are executed to perform a clean shutdown:

Tru64

uname -a

for all modes except 'expect' followed by:

/sbin/init 0

OpenVMS

Depending on the method selected (described in more detail below), one of the following commands is executed:

Either

@SYS$SYSTEM:SHUTDOWN 0 SHUTDOWN NO YES LATER NO NONE

or the script detailed below if 'expect' is not used.

Requirements

...

@SYS$MANAGER:CHARON_SHUTDOWN.COM

Requirements

PowerShell V5.1 or newer version is required.

...

To do so, open a command line window (cmd.exe) as an Administrator and use the following command:

c:\Charon>powershell -command "Set-ExecutionPolicy Unrestricted"

(info) The ExecutionPolicy can also be set to "RemoteSigned". In this case the .ps1 script files will have to be unblocked as described below.

...

c:\Charon>powershell -command "Unblock-File -path c:\charon\charon_cleanshutdown.ps1"

(lightbulb) See Powershell PowerShell version, upgrade, enabling scripts execution, tips and tricks.

...

Four methods are available to perform the remote shutdown. For all methods except 'expectopa0', the CHARON Charon host must be able to communicate via TCP/IP with the guest operating system(s) running on the CHARON instance(s).

Please select the method that is best suited to your configuration:

ModeDescriptionRequirementsNotesexpectSimulates an interactive connection to the console of the CHARON instance and performs the necessary actions.
Warning
titleRestrictions

Expect is supported only on Windows Server 2008 R2 and Windows 7. Windows Server 2012 R2, Windows Server 2016 and Windows 8.1 and 10 are not supported.

  • Download and install TCL from http://www.activestate.com/activetcl/expect. Select the "x86" version, not "x64" as 'expect' is not included in the "x64" kit. Do not install a package version higher than ActiveTcl8.6.4.1.299124-win32-ix86-threaded as the Expect kit could be missing. This kit can also be downloaded here.
    Open a command window (cmd.exe), go to c:\tcl\bin and run:

    C:\tcl\bin> teacup install Expect

    (warning) Case sensitive: 'Expect' must be entered as shown (not 'expect').
    .

  • Download plink.exe from the www.putty.org web site: click on the "You can download PuTTY here." link and copy plink.exe to the same folder (recommended) as the Powershell and Expect scripts (C:\Charon for example).opa0Connection to the OPA0 console via telnet on the specified port using PowerShell internal functions

    The 'SYS$MANAGER:CHARON_SHUTDOWN.COM' script must exist on the emulated VMS system.

    No requirement if Tru64 is used.

    • Does not work if the console is running an application. Works only if the console is at the SRM prompt, prompting for username or password, or at the shell prompt.
    • Does not work if a connection to the console is already active from another host than the CHARON server.
    • If the password of the guest operating system changes, either the encrypted
    clixml
    • password file has to be updated or the password stored in clear text in the configuration file.
    • Useful if TCP/IP is not available on the guest operating system running on the CHARON instance.
    rsh

    Executes a remote command on the guest operating system (TCP/IP is required).

    On Tru64 the .rhosts file must be configured and on OpenVMS the rexec/rsh services must have been enabled and a proxy must have been created.

    The 'rsh.exe' file is included in the kit. Copy it to a folder of your choice ("C:\Bin" or "C:\Charon" for example).

    The Charon Windows server and the emulated operating system must be able to communicate via TCPIP.

    The 'SYS$MANAGER:CHARON_SHUTDOWN.COM' script must exist on the emulated VMS system.

    No requirement if Tru64 is used.

    • Not subject to password change.
    ssh

    Executes a remote command on the guest operating system over a secure connection (TCP/IP is required).

    Download and install OpenSSH from the https://github.com/PowerShell/Win32-OpenSSH/releases web site or preferably the version attached to this document. As a user with Administrator privileges, extract the package to C:\Program Files\OpenSSH

    • Not subject to password change.
    • Secure connection.

    ...

    .

    The Charon Windows server and the emulated operating system must be able to communicate via TCPIP.

    The 'SYS$MANAGER:CHARON_SHUTDOWN.COM' script

    ...

    must exist on the emulated VMS system.

    No requirement if Tru64 is used.

    • Not subject to password change.
    • Secure connection.


    Div
    classpagebreak


    OpenVMS shutdown script

    Copy/paste this script on your OpenVMS system, it will be used to issue the shutdown command for "rsh", "ssh" and "sshopa0" modes:

    $ EDIT SYS$MANAGER:CHARON_SHUTDOWN.COM

    Code Block
    languagetext
    $ IF F$MODE() .eqs. "OTHER"
    $ THEN
    $   DEFINE SYS$OUTPUT OPA0:
    $   @SYS$SYSTEM:SHUTDOWN 0 SHUTDOWN NO YES LATER NO NONE
    $
    $ ELSE
    $   IF "''P1'".EQS."CHECK"
    $   THEN
    $     WRITE SYS$OUTPUT "''P2' was successful"
    $   ELSE
    $     SET VERIFY
    $     PURGE /KEEP=20 SYS$MANAGER:CHARON_SHUTDOWN.LOG
    $     RUN /DETACH SYS$SYSTEM:LOGINOUT.EXE /INPUT=SYS$MANAGER:CHARON_SHUTDOWN -
              /OUTPUT=SYS$MANAGER:CHARON_SHUTDOWN.LOG /UIC=[1,4]
    $   ENDIF
    $ ENDIF
    $ EXIT


    ...