Я хотел бы знать, можно ли выключить Windows Server 2003 без входа в систему через удаленный рабочий стол.
Сервер находится в моей сети, я знаю IP-адрес и имя хоста, а также пароль администратора.
Я хочу завершить работу, просто дважды щелкнув ярлык или выполнив сценарий.
Как мне это сделать?
Удаленное выключение ...
shutdown /s /f /t 30 /m \\SERVER-NAME
psexec \\SERVER-NAME -e -h -u SERVER-NAME\administrator shutdown /s /f /t 30
psexec \\SERVER-NAME -e -h -u DOMAIN-NAME\username shutdown /s /f /t 30
Объяснение параметров отключения ...
Объяснение параметров PsExec ...
Пример пакетного файла с использованием учетной записи локального администратора ... (вставить в Блокнот как rsla.bat)
@echo off REM rsla.bat - remote shutdown as local administrator REM This script is freeware authored by Miles Erickson, 7/2010. REM Requires PsExec.exe to be available in %PATH% (c:\windows\system32 is one option) REM Cannot be used to restart a domain controller (domain controllers do not have local admin accounts) IF (%1)==() GOTO instructions IF (%1)==(/?) GOTO instructions psexec \\\\%1 -e -h -u %1\\administrator shutdown /s /f /t 30 GOTO end :instructions ECHO Usage: rsla SERVER-NAME (you will be prompted for a password) :end
Ссылки ...
Если вам не нужно указывать учетные данные, вы можете использовать команду SHUTDOWN. Если вам нужно указать учетные данные (у вашего входа нет разрешений или компьютер не находится в домене), вы можете использовать PSSHUTDOWN утилита для этого.
Локальная учетная запись:
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, которой я клянусь).
Powershell:
$cred = get-credential Domain\AdminAccount
(gwmi -co %Computername% Win32_OperatingSystem -cr $cred).Shutdown()