DOBON.NET DOBON.NETプログラミング掲示板過去ログ

WMIの特権モードについて

環境/言語:[Winwos XP pro]
分類:[その他]

わからないので教えてください。
VBScriptとWMIで再起動がかかるプログラムを作りましたが下記にある内容を
実行すると「特権モードがありません」というエラーがでます。

特権モードを付与してあげればいいのはなんとなくわかるんですが、
具体的にどのようなプログラムを追加していいかがわかりません。

そこで、具体的にどのようなプログラムを追加いいかを教えてください。

宜しくお願いします。

Dim QfeSet
Dim Qfe
Dim Locator
Dim Service

Set Locator = CreateObject("WbemScripting.SWbemLocator")
Set Service = Locator.ConnectServer
Set QfeSet = Service.ExecQuery("Select * From Win32_OperatingSystem")

For Each Qfe In QfeSet
Qfe.Win32Shutdown 2
Next

Set QfeSet = Nothing
Set Qfe = Nothing
Set Service = Nothing
Set Locator = Nothing
こんな感じに変えてみてはいかがでしょうか?

Set QfeSet = Service.ExecQuery("Select * From Win32_OperatingSystem Where Primary=true")
■No14258に返信(管理人さんの記事)
> こんな感じに変えてみてはいかがでしょうか?
>
> Set QfeSet = Service.ExecQuery("Select * From Win32_OperatingSystem Where Primary=true")

ためして見ましたが「特権が保有していません」とエラーがでます。
エラーコード「80041062」
80041062でためしに検索かけてもでませんでした・・・
Service.Security_.Privileges.Add 18

のようなものを加えてみてはいかがでしょう。
■No14263に返信(管理人さんの記事)
> Service.Security_.Privileges.Add 18
>
> のようなものを加えてみてはいかがでしょう。

ありがとうございます。うまく動くことができて助かりました。

DOBON.NET | プログラミング道 | プログラミング掲示板