Попытка удаленного завершения работы компьютера в vb.net

#vb.net #shutdown

#vb.net #завершение работы

Вопрос:

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

   Process.Start("shutdown", "-s -m \COMPUTER NAME")
  

Затем, когда я выполнил программу, ничего не происходит..
Я думаю, что мой код неверен или я что-то упускаю.

Комментарии:

1. visual-basic-tutorials.com/form/Shutdown Utility.htm

Ответ №1:

Команда завершения работы может завершиться неудачно по ряду причин, но вы не проверяете успех. Попробуйте это вместо этого, а затем найдите ошибку.

     Dim proc = Process.Start("shutdown", "/s /m \COMPUTER_NAME")
    proc.WaitForExit()
    If proc.ExitCode <> 0 Then
        MsgBox("Failed - Code = " amp; proc.ExitCode)
    Else
        MsgBox("Success")
    End If
  

Примечание: возможно, вам потребуется запустить приложение как процесс с повышенными правами.


Перед тестированием вашего приложения вы должны проверить, работает ли команда из командной строки.

  • Открыть cmd
  • Выполнить shutdown /s /m \COMPUTER_NAME
  • Проверьте вывод и убедитесь, что он работает. Я подозреваю, что вы получите сообщение об ошибке «отказано в доступе». Если это так, щелкните правой кнопкой мыши cmd и выберите Launch as administrator . Затем повторите это и убедитесь, что это работает.
  • Если это не сработает, ваша программа тоже не будет работать. Погуглите shutdown access denied и ознакомьтесь с некоторыми советами по устранению неполадок.

Комментарии:

1. Какой приятный маленький фрагмент, я никогда не думал о проверке ExitCode свойства!

2. спасибо за код, и теперь код выхода, который я получаю, равен «5», и я не знаю, что это значит спасибо за вашу помощь

3. теперь код выхода, который я получаю, равен «5», что означает отказ в доступе.. теперь моя проблема заключается в том, как удалить запрещенный доступ, чтобы я мог удаленно выключать ПК

4. Начните с того, что убедитесь, что вы можете выполнить эту точную команду завершения работы из командной строки. Затем убедитесь, что вы запускаете свое приложение от имени того же пользователя. Если в командной строке требуется приглашение с повышенными правами, вам также потребуется повысить уровень вашего процесса.

5. теперь я не понимаю, как это сделать .. и я понятия не имею