Используя учетные данные вашей учетной записи домена (если ваша учетная запись имеет права локального администратора на целевом компьютере):
shutdown / s / f / t 30 / m \\ SERVER-NAME
Используя учетную запись локального администратора удаленного компьютера (psexec предложит вам ввести пароль):
psexec \\ ИМЯ-СЕРВЕРА -e -h -u ИМЯ-СЕРВЕРА \ завершение работы администратора / s / f / t 30
Используя другую учетную запись домена:
psexec \\ ИМЯ-СЕРВЕРА -e -h -u ДОМЕН-ИМЯ \ завершение работы с именем пользователя / s / f / t 30
Параметры отключения объяснены ...
/ s = выключение (замените / r, если вы хотите перезагрузить компьютер)
/ f = force (не позволяйте запущенным программам или активным пользовательским сеансам мешать перезагрузке)
/ t 30 = дать зарегистрированным пользователям предупреждение за 30 секунд (подставьте любое целое число, 0 является приемлемым значением)
/ m \\ SERVER-NAME = указать имя удаленной машины для перезагрузки
Параметры PsExec объяснили ...
-e = не загружать профиль пользователя (профиль пользователя не нужен для команды выключения)
-h = запускать задачи с повышенными привилегиями (имеет значение только в Vista / Win7 / Server2008)
-u SERVER-NAME \ administrator = войти в систему как локальный администратор на SERVER-NAME
выключение / с / ф / т 30 = я
Пример пакетного файла с использованием учетной записи локального администратора ... (вставьте в Блокнот как rsla.bat)
@ эхо выключено
REM rsla.bat - удаленное отключение от имени локального администратора
REM Этот скрипт является бесплатной разработкой Miles Erickson, 7/2010.
REM Требует, чтобы PsExec.exe был доступен в% PATH% (c: \ windows \ system32 - один из вариантов)
REM Не может использоваться для перезапуска контроллера домена (контроллеры домена не имеют локальных учетных записей администратора)
ЕСЛИ (% 1) == () ПОЛУЧИТЬ инструкции
ЕСЛИ (% 1) == (/?) ПОЛУЧИТЬ инструкции
psexec \\\\% 1 -e -h -u% 1 \\ завершение работы администратора / s / f / t 30
GOTO конец
:инструкции
ECHO Usage: rsla ИМЯ СЕРВЕРА (вам будет предложено ввести пароль)
:конец
очень тщательно Я тоже это модифицирую. Также проверьте страницу этого парня командных файлов, используя различные утилиты . Он также очень тщательный. Страница этого парня является ресурсом, управляющим Winboxen, который следует добавить в закладки. Я сталкиваюсь каждый раз, когда мне нужно что-то полезное, сложное или то и другое.
songei2f
9
Если вам не нужно указывать учетные данные, вы можете использовать команду 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, которую я клянусь).
В некоторых случаях WMIC очень ценен. В этом случае - не так уж и много.
MDMarra
Чрезвычайно уродливый, неинтуитивный и трудно запоминающийся. Разве на это не так много, правда?
Джон Гарденье
Скажите, что вы хотите, но а) предварительно установлен на XP и б) позволяет мне избежать использования UAC и / или runas, когда одна из моих учетных записей домена отличается от сеанса входа в систему на моем компьютере. Судя по тому, что я получил 0 голосов, я думаю, что красота для некоторых важнее, чем прагматизм. Если бы у меня была догадка, судя по доступным параметрам, завершение работы и такие вещи, как PsShutdown, используют те же вызовы API, что и WMIC, чтобы выполнить это в любом случае. Но эй, я отвлекся.
songei2f
+1. Мусор одного человека - это сокровище другого человека. Ваш метод выполняет свою работу, что и было вопросом «Как я могу это сделать».
Если вам не нужно указывать учетные данные, вы можете использовать команду 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:
источник