WMIで実現するにも同様の記述が必要と考え、いろいろ調べたのですが、 実装できたのは、Aの処理のみです。 Dim Locator Dim Service Dim AccountSet Dim Account Set Locator = CreateObject("WbemScripting.SWbemLocator") Set Service = Locator.ConnectServer Set AccountSet = Service.ExecQuery("Select * From Win32_Account Where Name='UserName'") For Each Account In AccountSet MsgBox "アカウント名:" & Account.Name & vbCrLf & "SID:" & Account.SID & vbCrLf Next
分類:[その他]
お世話になります。
VBScript+WMIを使用し、任意のユーザアカウントに、
SE_TCB_NAME権限を付加する方法を探しています。
Win32APIを使用して権限を付加する方法は下記URLに記述されていましたが、
WMIでの実装方法を紹介したURLは見つかりませんでした。
http://eternalwindows.jp/security/lsa/lsa06.html
上記URL内では、下記3つの処理をしております。
@ポリシーオブジェクトハンドルの取得
A特権を付加するアカウントのSIDの取得
BハンドルとSIDを使って特権の付加
WMIで実現するにも同様の記述が必要と考え、いろいろ調べたのですが、
実装できたのは、Aの処理のみです。
Dim Locator
Dim Service
Dim AccountSet
Dim Account
Set Locator = CreateObject("WbemScripting.SWbemLocator")
Set Service = Locator.ConnectServer
Set AccountSet = Service.ExecQuery("Select * From Win32_Account Where Name='UserName'")
For Each Account In AccountSet
MsgBox "アカウント名:" & Account.Name & vbCrLf & "SID:" & Account.SID & vbCrLf
Next
@Bの実装方法をご存知の方、ご教授の程よろしくお願いします。
また、アプローチの仕方が間違っている場合、ご指摘の程よろしくお願いします。