Завершите работу машины windows server 2008 r2 из консольного приложения c # - PullRequest
0 голосов
/ 03 августа 2011

Я согласился, мы можем выключить машины Клинта программно. но предположим, что моя машина настроена с Windows Server 2008 r2. Выключить любой серверный компьютер не так просто, как сравнить с обычными клиентскими операционными системами. так как нам нужно остановить службы, остановить запущенные процессы и в конце мы должны подтвердить, что этот процесс выключения «запланирован» для отслеживания событий выключения. так что мы можем сделать это из консольного приложения c #? Какую программу я должен сделать для этого?

Отредактировано: Я благодарен за все ответы. Но одна вещь, которую я упустил при написании вопроса, это отключение должно выполняться только тогда, когда машина находится без присмотра в течение 120 минут. так есть ли другой процесс, где я могу проверить посещаемость-unattendace машины? так что я бы назвал процесс выключения.

Ответы [ 7 ]

2 голосов
/ 03 августа 2011

Вы можете сделать это, используя команду shutdown.exe Windows:

Process.Start("shutdown.exe", "/l /t:0");

Если вы просто хотите избавиться от диалогового окна для ввода причины отключения, вы можете настроитьРеестр соответственно:

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Reliability]
"ShutdownReasonOn"=dword:00000000
1 голос
/ 03 августа 2011

Вы можете p / invoke InitiateSystemShutdownEx, что позволяет указать причину и сообщение для отслеживания событий, а также управления для диалогового окна пользовательского интерфейса.

1 голос
/ 03 августа 2011

В Sysinternals Suite есть все необходимые инструменты для отключения процессов, завершения работы служб и завершения работы ОС.Если бы вы не смотрели это, вы бы отсюда: http://technet.microsoft.com/en-us/sysinternals/bb842062

1 голос
/ 03 августа 2011

UAC в Windows Server 2008, Windows Vista и Windows 7 блокирует «shutdown.exe» от невыполненных процессов Попробуйте запустить приложение с правами администратора.

1 голос
/ 03 августа 2011

Вам нужно запустить Process.Start("shutdown",...); (где ...- это строка параметров) на этом компьютере.

1 голос
/ 03 августа 2011

У вас не работает shutdown.exe?Смотри http://technet.microsoft.com/en-us/library/cc770416.aspx

1 голос
/ 03 августа 2011

Существует приложение под названием Shutdown , которое можно вызвать с помощью класса Process .

, оно также может перезагружать машину, устанавливать сообщения журнала и перезапускать удаленные машины(я думаю)

...