• 締切済み

vbsによるユーザ情報の取得について

windows2003のマシンで全ユーザ情報を取得したいです。 具体的にはnet user "ユーザ名" コマンドを実行したいのですが 対象マシンが複数あり、ユーザもたくさんいるのであまり手間をかけることなくbatかvbsで実行したいのですが 構文を教えていただけないでしょうか c:\net user \\xxxx のユーザー アカウント ------------------------------------------------------------------------------- Administrator ASPNET HelpAssistant SUPPORT_388945a0 Guest コマンドは正常に終了しました。

みんなの回答

回答No.2

こんなんとか。 引数でホスト名。 引数なしなら自分。 例: hoge.vbs hostA If Wscript.Arguments.Count = 0 Then netObject = CreateObject("WScript.Network") hostName = netObject.ComputerName Else hostName = Wscript.Arguments(0) End If Set userAccounts = GetObject("WinNT://" & hostName) userAccounts.Filter = Array("user") Wscript.Echo hostName & " のユーザー アカウント" Wscript.Echo String(80, "-") For Each userObject In userAccounts Wscript.Echo userObject.Name Next

  • AKARI0418
  • ベストアンサー率67% (112/166)
回答No.1

WMI経由で取得すればよいと思います。 -------------------------------------------------------------------------------- Private Sub Command1_Click() Dim UsrSet As SWbemObjectSet Dim Usr As SWbemObject Dim Locator As SWbemLocator Dim Service As SWbemServices Dim MesStr As String Set Locator = New WbemScripting.SWbemLocator Set Service = Locator.ConnectServer Set UsrSet = Service.ExecQuery _ ("Select * From Win32_UserAccount") For Each Usr In UsrSet MesStr = MesStr + "名前:" + Usr.Name + vbTab + "SID:" + Usr.SID + vbCrLf Next MsgBox "登録されているユーザーアカウントは、" + _ vbCrLf + vbCrLf + MesStr + vbCrLf + "ですよ。" Set UsrSet = Nothing Set Usr = Nothing Set Locator = Nothing Set Service = Nothing End Sub

関連するQ&A

専門家に質問してみよう