завершение работы завершится неудачно, если учетная запись, в которую вы входите на удаленном ПК, не имеет привилегии SE_SHUTDOWN_NAME .
Эта статья MSDN содержит фрагмент кода, показывающий, как установить привилегию SE_SHUTDOWN_NAME из программы (и как выключить / перезагрузить компьютер с помощью Windows API вместо вызова команды выключения).
Но поскольку вы работаете удаленно и, возможно, вам не удастся установить эти разрешения программным способом, вы можете сделать это, выполнив интерактивный вход на удаленный компьютер и:
- Запустите secpol.msc , чтобы запустить приложение «Local Security Settings»
- Перейти к Параметры безопасности / Локальные политики / Назначение прав пользователя в дереве слева
- Справа дважды щелкните Завершение работы системы политика, чтобы открыть ее свойства
- Убедитесь, что учетная запись, которая будет вызывать отключение, указана как имеющая эту привилегию
Вам нужно будет сделать это только один раз.
Удачи.