---前提条件-------
まず、下記の方法にて確認できる情報を、仮に【情報A】とします。
【情報A】
「マイコンピュータ右クリック ⇒ 管理 ⇒ (コンピュータの管理画面より)ローカル ユーザとグループ ⇒ ユーザ」
で確認できる、その時点でPCに存在するローカルのユーザアカウントの情報
---ここまで-------
管理用ADサーバとクライアント約500台が存在するドメイン環境で、クライアントのログオン時にVBScript(いわゆるログオンスクリプト)を用いて、「端末名(ホスト名)+【情報A】」の形でにテキストファイル等のログ(下記の【ログの例】参照)として管理用ADサーバに送信します。
そしてサーバ側では、全クライアントに存在する全ユーザアカウントを端末別で一覧にて確認する。
このようなことは可能でしょうか?またどのようにすればよいでしょう?
※今回サーバに送信したい情報Aですが、有効になっているユーザアカウントだけでも、全てのアカウントでもOKです。
【ログの例】
-------------
PC001
Administrator
Guest
user01
user02
user03
PC002
Administrator
Guest
user01
PC003
Administrator
Guest
user03
user04
PC004
・
・
・
-------------
No.2ベストアンサー
- 回答日時:
質問文にあるログの例は全端末の情報が 1つのファイルにまとまっていますが、それだとスクリプトからの書き込みは失敗します。
他の PC が書き込み途中だったりするとね。
ですのでホストごとにファイルを作成するのが良いでしょう。
ローカルのユーザー取得については
pcName = "."
Set wmisrv = GetObject("WinMgmts://" & pcName & "/root/cimv2")
Set accounts = wmisrv.ExecQuery("SELECT * FROM Win32_UserAccount WHERE localaccount = TRUE")
For Each acc In accounts
MsgBox acc.Name
MsgBox acc.Disabled
Next
で取得できるので、出力の体裁を整えてファイルに書き出してください。
ちなみに Disabled プロパティは、アカウントが無効なら True、有効なら False です。
また、WMI の Win32_UserAccount クラスのその他のプロパティなどを調べたい場合はマイクロソフト製の Scriptmatic 2.0 を使うと簡単に調べられます。
http://www.microsoft.com/japan/technet/scriptcen …
(ダウンロードは英語サイトで、途中で Windows 正規版のチェックが入ります)
ダウンロードした exe ファイルを開いて適当なフォルダに解凍し、ScriptmaticV2.hta ファイルをダブルクリック。
[WMI Namespace] は「root/CIMV2」を選択。
[WMI Class] は「Win32_UserAccount」を選択。
[Language] は「VBScript」を選択。
これでサンプル スクリプトが表示されます。
サンプル スクリプト後半の WScript.Echo の部分にいろんなプロパティが書いてあります。
No.3
- 回答日時:
とりあえず情報Aの取得部分だけならこんな感じでしょうか。
Option Explicit
Dim Locator
Dim Service
Dim Os
Dim OsSet
Dim Usr
Dim UsrSet
Dim CompInfo
Set Locator = WScript.CreateObject("WbemScripting.SWbemLocator")
Set Service = Locator.ConnectServer
Set OsSet = Service.ExecQuery("Select * From Win32_OperatingSystem")
For Each Os In OsSet
CompInfo = CompInfo & vbCrLf & Os.CSName
Next
Set UsrSet = Service.ExecQuery ("Select * From Win32_UserAccount")
For Each Usr In UsrSet
CompInfo = CompInfo & vbCrLf & Usr.Name
Next
CompInfo = CompInfo & vbCrLf
MsgBox CompInfo
Set UsrSet = Nothing
Set Usr = Nothing
Set OsSet = Nothing
Set Os = Nothing
Set Locator = Nothing
No.1
- 回答日時:
ユーザの情報はWMIを使用すれば取得出来ます。
またはnet userコマンドの出力を使用しても良いと思います。サーバに出力したファイルを送るなら、サーバに共有フォルダを作ってそこにファイルをコピーするのが一番手っ取り早いですね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- ノートパソコン ESETの初期インストールの仕方 1 2022/10/14 08:26
- サーバー Windowsサーバでグループを検索したい 1 2023/04/17 15:30
- Chrome(クローム) 【Google】「同期は有効です」と表示されているがブックマークが同期されていない 2 2022/11/17 13:32
- ルーター・ネットワーク機器 NUROのルータF660Aについて 2 2022/09/07 11:44
- ネットワーク 瞬快 コンソール操作 ローカル端末のファイルをリモート端末にコピーする方法がない? 1 2023/03/17 18:56
- その他(セキュリティ) 役所など、情報系システムのセキュリティが弱くても業務システムに問題ないか 3 2022/11/02 16:38
- その他(開発・運用・管理) Windowsバッチファイルでリモートデスクトップを自動ログインするが確認画面が出る対処方法 1 2022/12/19 15:48
- Windows 10 Microsoftアカウントでログインできなくなった場合の対処を教えてください 1 2023/03/03 15:45
- その他(ニュース・時事問題) ネットの記事で、マイナンバーカードの情報が漏洩したニュースを見ました。 ①USBを紛失したとのことで 5 2022/12/08 08:21
- その他(Microsoft Office) Office2021 Pro OEM版の認証エラー解消方法を教えてください 3 2022/12/20 17:25
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
同名フォルダを作成し、そのフ...
-
拡張子をつくる
-
PCに保存していた写真を見られ...
-
<a href="file:///フォルダ名/...
-
MkDir パス名が無効です
-
参照元Excelファイルをバックグ...
-
「~$ファイル名.doc」というフ...
-
Excelで外部のファイルの場所を...
-
OpenFileDialogを使った後にも...
-
EXCEL VBAのDir関数について
-
C#のFileSystemWatcherでのファ...
-
Excelの関数について教えてくだ...
-
スマホでHTMLファイルを開いて...
-
Excel VBAでフォルダが何層にも...
-
ファイルとフォルダのセキュリ...
-
OneDriveの保存先を外付HDDにし...
-
エクセルVBAで、ファイルの情報...
-
ExcelのVBProjectがExcelを開く...
-
ExcelVBAでリンク先の対象のフ...
-
秀丸のタグジャンプがうまくで...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PCに保存していた写真を見られ...
-
Excelの関数について教えてくだ...
-
拡張子をつくる
-
Excelで外部のファイルの場所を...
-
同名フォルダを作成し、そのフ...
-
<a href="file:///フォルダ名/...
-
OpenFileDialogを使った後にも...
-
MkDir パス名が無効です
-
スマホでHTMLファイルを開いて...
-
参照元Excelファイルをバックグ...
-
ExcelVBAでリンク先の対象のフ...
-
VBSでメール送信
-
EXCEL VBAのDir関数について
-
ファイルの作成日時について
-
Mac Excel VBAについて
-
Webページのリンクの貼り方を教...
-
「~$ファイル名.doc」というフ...
-
秀丸のタグジャンプがうまくで...
-
Outlookで添付ファイルの貼り付...
-
OneDriveのドキュメントにある...
おすすめ情報