2011-01-17 10 views
2

このコードを標準ユーザーモードで実行すると、ネットワークドライブを含むすべてのドライブが取得されます。管理者として実行すると、ネットワークドライブはリストに表示されません。何がありますか?C#Environment.GetDrives()が管理者モードで正しく動作しない

List<string> drives = Environment.GetLogicalDrives().ToList(); 
StringBuilder driveList = new StringBuilder(); 

foreach (string drive in drives) 
    driveList.AppendLine(drive); 

MessageBox.Show(driveList.ToString()); 

これはWindows 7で実行されています。ネットワークドライブはNovellからのものです。このコードは、.NET 4フレームワークを使用してC#で記述されています。

+0

どのように実行していますか? – SLaks

答えて

6

昇格された特権で実行されたプロセスでWindows Vistaのネットワークマップドライブを使用できないため、これは正常な動作です(Programs may be unable to access some network locations after you turn on User Account Control in Windows Vista or in Windows 7 (KB 937624))。ナレッジベースの記事の回避策は、レジストリの編集とコンピュータの再起動を意味します。

詳細については、ブログの投稿Mapped Network Drives with UAC on Windows Vistaも参照してください。

+0

有用な編集のための@PeterMortensenありがとう – CharlesB

関連する問題