• 締切済み

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

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

  • yac13
  • お礼率11% (2/17)

みんなの回答

回答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

  • 拡張子をvbsにして実行したら構文エラー

    vbsのスクリプトをテキストに書いて、 拡張子をbatにして、bat実行したら、 ループ実行みたいに延々スクリプトが流れてしまいました。 拡張子をvbsにして実行したら構文エラーとなりました。 しかしコマンドプロンプトにスクリプトを書いて、 実行したら実行はできます。 これはvbsの実行方法はまた別にあるのでしょうか?

  • ユーザーアカウントについて

     win7、ie9です。よろしくお願いいたします。  netplwizコマンドを利用しました。ログインにはパスワードが必要なくなり、便利になりました。処がユーザーアカウントがguestになってしまいました。操作が非常に限られました。  これを、セーフモードで立ち上げたところ、administratorで立ち上がりました。それで、別アカウントの管理で、もうひとつアカウントを作り、administratorにしました。  ところがです。そうして、正常モードで立ち上げたところ、今までのguestのアカウントがadminに変わっていたのです。今までのguestアカウントはなくなっていました。  もちろんデータ等も見当たりません。立ち上げは今までguestのadminでしか立ち上げることができません。他にアカウントが見つかりません。  これでは満足にパソコンを使うことができません。どうしたらいいでしょうか?どツボに嵌った感じです。せめてデータだけでも復活したいのですが、、、、、、。   マイクロソフトはadminのアカウントはセキュリティ的に危険であると言っていますが、adminのアカウントで遣い続けてもいいのかもわかりません。  ちょっとテンパっているので、わかりにくい処もあるかと思いますが、よろしくお願い申し上げます。

  • 制限ユーザが作れない

    Windows XPのprofessional 使っています。新しいUser Accountを作ろうと思い、「ユーザーアカウント」の「新しいアカウントを作成する」で名前をつけて次の画面に進み、「アカウントの種類を選びます」に来ました。ところが、他のアカウントを作成する前に、「コンピュータの管理者のアカウントを少なくとも1つ作成してください。」で、「制限」ユーザを選択できないのです。 ○Administrator(コンピュータの管理者、パスワード保護) ○Guest(Guestアカウントはオフです) の二つが現在存在して、Administratorログオンしているのですが、これはいったいどういうことなのでしょうか?Administrator以外に管理者権限を持ったユーザを1人作れということなのでしょうか?

  • ユーザーアカウントの削除

    スタート→ファイル名を指定して実行→control.exe userpasswords2 上記からユーザーアカウントを全削除するとどうなるのですか? ここのAdministratorとGuestは削除してはいけないのですか?

  • バッチファイルでユーザーアカウントの追加と削除

    Windows7 Home Premium 32bitです。 ユーザーアカウントを追加・削除するバッチファイルを作成しています。 追加・削除とも成功したのですが、以下のような不安な部分があります。 追加したいユーザーアカウントを「山田」とします。 このアカウントを追加するバッチファイルを「add.bat」とします。 このアカウントを削除するバッチファイルを「del.bat」とします。 「add.bat」を実行すると、アカウントが作成されます。 一度「山田」でログインした後、Administratorに切り替えてユーザープロファイルを確認すると、「山田」のプロファイルが作成されています。 次に、「del.bat」を実行すると、「山田」のプロファイルもアカウントも削除できます。 再度「add.bat」を実行してアカウントを追加し、ログインした後、 Administratorに切り替えてユーザープロファイルを確認すると、「山田」とは別に「不明なアカウント」が出てきます。(容量は同じです) ユーザープロファイルの画面で「不明なアカウント」のプロファイルを先に削除すると、同時に「山田」のプロファイルも削除されてしまいます。 一方、「del.bat」を実行して「山田」のアカウントを先に削除すると、「不明なアカウント」のプロファイルも削除されています。 「del.bat」が間違ってるものと思われますが、調べても解決できませんでした。 対処法をご教授いただければ幸いです。 「del.bat」の内容は下記2行です。 rd /s /q C:\Users\山田 net user 山田 /delete

  • VBSなどでドライブの割り当て

    現在batファイルで次のようなコマンドを3つほど入れたものを実行しています。 subst m: "C:\hoge\hoge" これがブルースクリーンでOS再起動してしまうようになりました。 VBSなどで同等のコマンドってありませんか? なんかVBSからsubstを呼び出している例をみた記憶がおぼろげながらあるので、VBSにはsubst相当のコマンドはないのかな?などと思っていますが。 なぜVBSにこだわるかというと、VBSならエラーを補足してブルースクリーンを回避できるのではないかと期待しているからです。 宜しくお願い致します。

  • XP ログイン画面と終了画面について

    XP Proffesional  を使用しております。 ログイン画面で以前はようこその文字が出てユーザーアイコンをクリックしなくとも自動ログインができていました。 今はようこそがでなく青い画面のまま自動ログインしてしまいます。 ようこその文字をだしながら自動ログインをしたいです。 >control userpasswords2で起動しユーザーアカウントを出しユーザー管理の詳細設定のユーザーを見るとAdministrator、ASPNET、Guest、HelpAssintant、SUPPORT-、自分のアカウントがありました。 ユーザアカウントの コノコンピュータのユーザーをみると  ユーザー名 ASPNET グループ USER ユーザー名 自分の名前 グループ Administrator とでます。 この場合自分のアカウント以外は使わないので他のアカウントは削除してしまってもいいのでしょうか? スタートメニューに以前は自身の名前の隣に設定した画像が出ていましたが今は出てきません それもだしたいです。 またスタートからシャットダウンボタンを押すと以前は中央に3つのボタン終了・再起動・ログオフがでていましたがそれもでなく今はプルダウン形式の選ぶ方法になってしまいました。 これも以前の3つボタンの状態に戻したいです。 現在設定は  ユーザーがこのコンピューターを使うにはユーザー名とパスワードが必要のチェックをはずしており、 Administrator、Guest、HelpAssintant、SUPPORT-、を無効状態にしています 色々と紛らわしくてすみませんがどうか教えていただけませんでしょうか? 宜しくお願い致します。

  • ユーザープロファイル

    OS:Home Premium 先日、Windows VistaでAdministratorアカウントを使用するためコマンドプロンプトで「net user administrator /active:yes」を打ち込んでAdministratorのアカウントを作ったんですが、用がすんだのでAdministratorのユーザープロファイルを削除したところ、それ以降、再び「net user administrator /active:yes」を打ち込んでAdministratorのアカウントを呼び出しても一時的なプロファイル(TEMP)しか作成してくれず困っています。この一時的なプロファイルを一時的でなくす方法、もしくはAdministratorアカウントでログインした時に新たにプロファイルを作成させる方法があったら教えてください。

  • Windouws7で「ユーザーアカウントの制御」画面でアドミニストレー

    Windouws7で「ユーザーアカウントの制御」画面でアドミニストレータのPW入力が求められますが、PWを入力すると「要求された種類のログオンはこのコンピューターでは許可されません」のメッセージ表示され、次に進めません。 コマンドプロンプトを起動し、net localgroup administrators と入力すると エイリアス名 administrators コメント コンピューター/ドメインに完全なアクセス権があります。 メンバー ------------------------------------------------------------------------------- Administrator ASPNET と表示されます。 このような状態を解消するにはどのようにすればよいか、教えていただきたいと思います。

  • VBSについて

    VBSの中でDOSのコマンドを実行したいのですが、VBS内で使用した変数を Runで使うことはできないのでしょうか? ################################################ Set WSHShell = CreateObject("WScript.Shell") x = "C:\Documents and Settings\user" WSHShell.Run "cmd.exe /K dir x" ################################################ たとえば上記のようなプログラムを作ったときに最終行のcmd.exeの 実行で変数xを使用したいのですが、可能でしょうか? このまま実行するとコマンドプロンプトの窓が開いて「ファイルが見つかりません」と表示されてしまいます。 何か方法があればご教授ください。よろしくお願いします。