我想知道是否可以关闭 Windows Server 2003 机箱,而无需通过远程桌面登录到机器。
该服务器在我的网络上,我知道 IP 地址和主机名以及管理员密码。
我想通过双击快捷方式或执行脚本来关机。
我该怎么做呢?
答案1
远程关机...
- 使用您的域帐户凭据(如果您的用户帐户在目标计算机上具有本地管理员权限):
关机/ s / f / t 30 / m \\服务器名称
- 使用远程计算机的本地管理员帐户(psexec 将提示您输入密码):
psexec \\服务器名称 -e -h -u 服务器名称\administrator shutdown /s /f /t 30
- 使用不同的域帐户:
psexec \\服务器名称-e -h -u 域名\用户名shutdown /s /f /t 30
关机参数解释...
- /秒= 关机(如果要重新启动,请替换/r)
- /F= 强制(不要让正在运行的程序或活动的用户会话干扰重启)
- /t 30= 向已登录用户发出 30 秒警告(替换任何整数,0 是可接受的值)
- /m \\服务器名称= 指定要重新启动的远程机器的名称
PsExec 参数解释...
- -e= 不加载用户配置文件(关机命令不需要用户配置文件)
- -H= 以提升的权限运行任务(仅在 Vista/Win7/Server2008 上有所不同)
- -u 服务器名称\管理员= 以 SERVER-NAME 上的本地管理员身份登录
- 关机/s/f/t 30= 我
批处理文件示例,使用本地管理员帐户... (粘贴到记事本中作为 rsla.bat)
@echo 关闭 REM rsla.bat-以本地管理员身份远程关机 REM 该脚本是免费软件,由 Miles Erickson 于 2010 年 7 月编写。 REM 要求 PsExec.exe 在 %PATH% 中可用(c:\windows\system32 是一个选项) REM 无法用于重新启动域控制器(域控制器没有本地管理员帐户) IF (%1)==() GOTO 指令 IF (%1)==(/?) GOTO 指令 psexec \\\\%1 -e -h -u %1\\administrator shutdown /s /f /t 30 GOTO 结束 :指示 ECHO 用法:rsla SERVER-NAME(系统将提示您输入密码) :结尾
链接...
答案2
如果不需要指定凭据,则可以使用 SHUTDOWN 命令。如果确实需要指定凭据(您的登录名没有权限,或者计算机不在域中),则可以使用电源关断实用程序来执行此操作。
答案3
本地帐户:
cmd /k wmic /node:"targetcomputerhostname" /user:"AdministratororWhatever" os where primary=true call reboot
具有本地管理员权限的 AD 帐户:
cmd /k wmic /node:"targetcomputerhostname" /user:"DomainAccountWithAdminPrivs@fqdn" os where primary=true call reboot
这很容易作为批处理文件移植。请记住,您将需要适当的远程例外。如果 psshutdown 有效,那么这也应该可以正常工作,而无需安装任何外部软件(不是为了贬低 SysInternals 工具,这是我对 Windows 最信赖的东西)。
答案4
电源外壳:
$cred = get-credential Domain\AdminAccount
(gwmi -co %Computername% Win32_OperatingSystem -cr $cred).Shutdown()