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