次のコードがあります。
var searcher = new ManagementObjectSearcher("SELECT Name, Path FROM Win32_share");
ManagementObjectCollection coll = searcher.Get();
foreach (var share in coll)
{
Console.WriteLine("share-path: " + share["Path"] + " share-name:" + share["Name"]);
}
私として実行すると、適切な出力が得られます。
share-path: C:\Windows share-name:ADMIN$
share-path: C:\ share-name:C$
share-path: D:\ share-name:D
share-path: D:\ share-name:D$
share-path: share-name:IPC$
ローカル システム ユーザーとしてサービスから実行すると、 Path プロパティが取得されません。
share-path: share-name:ADMIN$
share-path: share-name:C$
share-path: share-name:D
share-path: share-name:D$
share-path: share-name:IPC$
LOCAL SERVICE で共有フォルダーのパスを表示できないようにする必要がありますか? 私は何を間違っていますか?(注:「NETWORK SERVICE」としても実行してみましたが、同じ結果でした。