Открыть / просмотреть защищенный паролем подключенный сетевой диск - PullRequest
0 голосов
/ 15 июня 2010

Я хочу открыть подключенный сетевой диск из кода C #, но он защищен паролем, поэтому при попытке открыть его напрямую выдается исключение.Может ли кто-нибудь пролить свет на предоставление имени пользователя и пароля при открытии этого диска?Сведения об исключении:

at System.Diagnostics.Process.StartWithShellExecuteEx(ProcessStartInfo startInfo)
at System.Diagnostics.Process.Start()
at System.Diagnostics.Process.Start(ProcessStartInfo startInfo)
at System.Diagnostics.Process.Start(String fileName)

Я просто звоню System.Diagnostics.Process.Start("Z:")

Ответы [ 2 ]

2 голосов
/ 15 июня 2010

Z: это не имя файла. [править: все нормально, если он не защищен паролем, попытался выполнить ваш код и все заработало]

Попробуйте использовать в качестве параметра объект ProcessStartInfo , так как он позволяет установить имя пользователя и пароль.

А насчет параметра FileName из здесь :

Имя файла - любое приложение или документ. Документ определяется как файл любого типа, с которым связано действие открытия или действия по умолчанию. Вы можете просматривать зарегистрированные типы файлов и связанные с ними приложения для вашего компьютера с помощью диалогового окна «Параметры папки», доступного через операционную систему. Кнопка «Дополнительно» открывает диалоговое окно, в котором показано, есть ли действие открытия, связанное с определенным зарегистрированным типом файла.

0 голосов
/ 15 июня 2010

Возможно, вы могли бы вместо этого открыть UNC-путь, на котором ваш "диск z" означал , на который указывает.Напоминание о том, что пользователь ПК может отключить Z: и заменить его на любой путь, по которому он хочет ...

Не совсем понятно, что вы подразумеваете под «запустить напрямую» и «открыть этот диск», но если какваш фрагмент кода предполагает, что вы пытаетесь запустить проводник для папки диска, тогда вы можете использовать ProcessStartInfo в качестве механизма для предоставления учетных данных.

Если вы пытаетесь программно получить доступ к файлу (s) в этом общем ресурсе вы можете использовать термин олицетворение , чтобы запускать блоки кода доступа к файлу с другими учетными данными.Этот доступ к общему файлу (UNC) из удаленного ненадежного домена с учетными данными выглядит особенно многообещающе.

Если вы пытаетесь создать сетевой диск с использованием предварительно заданных учетных данныхтогда есть другое решение здесь - https://serverfault.com/questions/47005/specifying-username-pass-as-part-of-a-unc-path-or-map-network-drives-for-a-window/47008#47008 (не забудьте отключить его после).

...