Как закрыть Windows Server 2003 без использования RDP?


8

Я хотел бы знать, можно ли закрыть окно Windows Server 2003 без необходимости входа в систему через удаленный рабочий стол.

Сервер находится в моей сети, я знаю IP-адрес и имя хоста, а также пароль администратора.

Я хочу завершить работу, просто дважды щелкнув по ярлыку или выполнив скрипт.

Как мне это сделать?

Ответы:


16

Дистанционное отключение ...

  • Используя учетные данные вашей учетной записи домена (если ваша учетная запись имеет права локального администратора на целевом компьютере):
    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 для этого.


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, которую я клянусь).


Хммм ... Вам нравится WMIC! ;)
Joeqwerty

В некоторых случаях WMIC очень ценен. В этом случае - не так уж и много.
MDMarra

Чрезвычайно уродливый, неинтуитивный и трудно запоминающийся. Разве на это не так много, правда?
Джон Гарденье

Скажите, что вы хотите, но а) предварительно установлен на XP и б) позволяет мне избежать использования UAC и / или runas, когда одна из моих учетных записей домена отличается от сеанса входа в систему на моем компьютере. Судя по тому, что я получил 0 голосов, я думаю, что красота для некоторых важнее, чем прагматизм. Если бы у меня была догадка, судя по доступным параметрам, завершение работы и такие вещи, как PsShutdown, используют те же вызовы API, что и WMIC, чтобы выполнить это в любом случае. Но эй, я отвлекся.
songei2f

+1. Мусор одного человека - это сокровище другого человека. Ваш метод выполняет свою работу, что и было вопросом «Как я могу это сделать».
Joeqwerty

1

Powershell:

$cred = get-credential Domain\AdminAccount
(gwmi -co %Computername% Win32_OperatingSystem -cr $cred).Shutdown()
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.