質問編集履歴
1
コード一部修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -2,14 +2,18 @@
|
|
2
2
|
|
3
3
|
WMIを使いC#で組んでいます
|
4
4
|
```ここに言語を入力
|
5
|
-
var searchResults = new ManagementObjectSearcher(string.Format("SELECT * FROM Win32_Printer WHERE Name LIKE \"{0}\"", プリンター名)).Get();
|
5
|
+
var searchResults = new ManagementObjectSearcher(string.Format("SELECT * FROM Win32_Printer WHERE Name LIKE \"{0}\"", プリンター名)).Get();
|
6
|
-
foreach (ManagementObject printer in searchResults)
|
6
|
+
foreach (ManagementObject printer in searchResults)
|
7
|
-
{
|
7
|
+
{
|
8
|
-
ManagementBaseObject outParamsMthd =
|
9
|
-
|
8
|
+
ManagementBaseObject outParamsMthd = printer.InvokeMethod("GetSecurityDescriptor", null, null);
|
10
|
-
ManagementBaseObject descriptor =
|
11
|
-
|
9
|
+
var descriptor = (ManagementBaseObject)outParamsMthd["Descriptor"];
|
10
|
+
// descriptor これがnullになってしまう
|
12
|
-
}
|
11
|
+
}
|
13
12
|
```
|
14
13
|
上記のように組んだのちに管理者権限で実行するとdescriptorを取得できるのですが、管理者権限がない場合はnullとなってしまいます
|
15
|
-
書き込みの権限は必要なく、管理者権限を必要としないまま参照のみを行いたいのですが、どのようにすればよろしいでしょうか?
|
14
|
+
書き込みの権限は必要なく、管理者権限を必要としないまま参照のみを行いたいのですが、どのようにすればよろしいでしょうか?
|
15
|
+
|
16
|
+
追記
|
17
|
+
コードが一部違っていたので修正したしました。
|
18
|
+
またコードでいうと「descriptor」が権限のないままビルドするとnull、ある場合正しく取得できる
|
19
|
+
権限のないまま取得したいです。
|