Полное руководство по терминальным службам Windows Server 2003

       

TSSHUTDN Wrapper


TSSHUTDN.EXE - это утилита, используемая для выключения или перезагрузки терминального сервера. Эта утилита предупреждает пользователей о выключении сервера, двавая им возможность сохранить работу. Затем она запускает для каждого сеанса команду logoff и выключает сервер. К сожалению, эта утилита выключает, а не перезагружает сервер.

Я написал обертку для предотвращения случаных выключений. Скопируйте этот код и сохраните в формате VBS в каталоге SYSTEM32. Для запуска скрипта введите с командной строки имя файла VBS (например, я назвал этот файл TSSHUTDOWN.VBS):

' AUTHOR: Greyson Mitchem, The Definitive Guide to WS2K3 TS

' This VBS file is a safety wrapper for the native

' TSSHUTDN.EXE that shuts down or reboots a TS.

' This script will collect the parameters for

' the tsshutdn command. 

set oShell=CreateObject("Wscript.Shell")

set oNet=CreateObject("Wscript.Network")

returnkey=msgbox("This script collects the parameters needed to"&VBCRLF&"correctly shutdown or reboot a Terminal Server."&VBCRLF&"You may abort the process at any time by hitting CANCEL."&VBCRLF&VBCRLF&"Do you wish to continue?", VBOKCancel + VBInforamtion, "TS Shutdown")

IF returnkey=VBCancel THEN Wscript.Quit(1)

Server=InputBox("Enter the name of the server you wish to Reboot/Shudown:", "Server Name", oNet.ComputerName)

if trim(Server)="" then Wscript.Quit(1)



bRestart=MSGBox("Do you wish to have the server reboot?"&VBCRLF&VBCRLF&"Clicking NO will PowerDown the system without rebooting.", VBYesNoCancel + vbQuestion, "Reboot or PowerDown")

Select Case bRestart

     Case vbYes

           sOption="/REBOOT"

     Case vbNo

           sOption="/POWERDOWN"

     Case vbCancel


           Wscript.Quit(1)

End Select

Wait=InputBox(" Please enter the number of seconds to give users to finish working before forcibly logging them off:", "Wait Time", "60")

if trim(Wait)="" then Wscript.Quit(1) 

Delay=InputBox("Please enter the number of seconds to wait after all users have logged off before shutting down the system:", "Wait Time", "30")

if trim(Delay)="" then Wscript.Quit(1)

' All Parameters have been collected.  Now we build the comand line. 

ShutdnCMD="tsshutdn.exe "&wait&" /server:"&Server&" "&sOption&" /Delay:"&Delay&" /v"

oShell.RUN(ShutdnCMD)

Wscript.Quit(0)

Если вы хотите создать ссылку, то используйте команду

wscript %systemroot%\system32\<scriptname.vbs>




Содержание раздела