vbscript
コンピュータアカウントの「メンバー」内のすべてのグループをテキストファイルに取得できる方法を探しています。「のメンバー」のユーザー アカウントをテキストにコピーするには、net user test のコマンドを使用します。/domain
c:\temp\testaccount.txt
すべてのメンバーまたはLocal/Global
グループ メンバーシップの詳細を数秒で取得します。実行するコマンドはありますか、それともスクリプトが必要ですか?
メルビン
vbscript
コンピュータアカウントの「メンバー」内のすべてのグループをテキストファイルに取得できる方法を探しています。「のメンバー」のユーザー アカウントをテキストにコピーするには、net user test のコマンドを使用します。/domain
c:\temp\testaccount.txt
すべてのメンバーまたはLocal/Global
グループ メンバーシップの詳細を数秒で取得します。実行するコマンドはありますか、それともスクリプトが必要ですか?
メルビン
これは私がそのために使用するスクリプトですが、これはあなたのようなコンソールコマンドほど速く実行されることはありません。それが問題である場合は、実行コマンドを使用してスクリプトからコマンドを実行できます。ドメインの LDAP パスを知っている必要があります。エコーが発生するため、これを cscript.exe で実行することをお勧めします。
Const ForReading = 1, ForWriting = 2, ForAppending = 8, CreateIfNeeded = true
Dim fso, filename, objConnection, objCommand, oShell, sResult, objRecordSet, oFile_out
Set fso = CreateObject("Scripting.FileSystemObject")
filename = "\\server\share\out.txt"
Set objConnection = CreateObject("ADODB.Connection")
objConnection.Open "Provider=ADsDSOObject;"
Set objCommand = CreateObject("ADODB.Command")
objCommand.ActiveConnection = objConnection
objCommand.CommandText = "<LDAP://domain/OU=Workstations,OU=Computers,...>;;name;subtree"
Set oShell = CreateObject("Wscript.Shell")
sResult = oShell.Popup("Generating list..", 2, "Have some patience please, the list is generated")
on error resume next
Set objRecordSet = objCommand.Execute
Call CheckForError
set oFile_out = fso.OpenTextFile (filename, ForWriting, CreateIfNeeded)
Call CheckForError
While Not objRecordset.EOF
oFile_out.writeline objRecordset.Fields("name")
Wscript.Echo objRecordset.Fields("name")
objRecordset.MoveNext
Wend
'--- ---'
Sub CheckForError
if err.number <> 0 Then
msgbox("39: "&err.description)
err.clear
end if
End Sub