WMI C# выполняет exe на удаленном ПК, который затем выполняет другой exe на том же ПК, который затем называет Каталог. CreateDirectory на сетевом пути и сбоях

Используя WMI C# я запускаю exe на другом компьютере, и этот exe запускает другой exe использование C# Process класс. Последний exe пытается звонить Directory.CreateDirectory использование сетевого пути (иначе \\\\comp1\d$\dir\). Directory.CreateDirectory выдает это исключение:

Access to the path '\\\\blah\blah\blah' is denied.   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.Directory.InternalCreateDirectory(String fullPath, String path, DirectorySecurity dirSecurity)
   at System.IO.Directory.CreateDirectory(String path, DirectorySecurity directorySecurity)

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

Настройки безопасности для папки, где каталог создается, имеют "Всех" данные полные полномочия.

Как я решаю эту проблему?

6
задан Laurel 29 March 2016 в 19:48
поделиться

3 ответа

Также имейте в виду, что при запуске приложения через WMI существует третий уровень прав. Например, если вы вызываете метод для существующего объекта WMI, он может не делегировать права вызывающим абонентам или даже права исполняемого файла хоста, но будет иметь пустого участника. Это может происходить с вами.

Перейдите в раздел «Управление компьютером» и в разделе «Службы и приложения» щелкните правой кнопкой мыши узел «Управление WMI» и выберите «Свойства». Перейдите на вкладку «Безопасность», затем перейдите к правильному пространству имен WMI (скорее всего, root \ CIMV2) и убедитесь, что у пользователя, которого вы используете, также есть соответствующие права.

2
ответ дан 17 December 2019 в 18:15
поделиться

Как сказал Аарон, безопасность общего ресурса Windows состоит из двух компонентов. Первый - это безопасность самого общего ресурса. Во-вторых, безопасность файлов и папок в этом общем ресурсе.

Оба должны разрешить доступ к каталогу для создания, чтобы это работало.

Вы также должны знать, что ВСЕ группа включает учетные записи компьютеров домена, встроенную системную учетную запись, пользователей домена, гостей и пользователей, прошедших проверку подлинности.

Это означает, что первое, что вам нужно сделать, это посмотреть, под каким пользователем он на самом деле работает. Если он работает под учетной записью компьютера И не является частью домена, вам необходимо предоставить этой учетной записи компьютера доступ к общему ресурсу и файловой системе.

1
ответ дан 17 December 2019 в 18:15
поделиться

См. эту тему для некоторых предложений о разрешениях.

http://www.eggheadcafe.com/community/aspnet/2/10058550/how-to-create-a-folder-in.aspx

0
ответ дан 17 December 2019 в 18:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: