1

vbscriptコンピュータアカウントの「メンバー」内のすべてのグループをテキストファイルに取得できる方法を探しています。「のメンバー」のユーザー アカウントをテキストにコピーするには、net user test のコマンドを使用します。/domain c:\temp\testaccount.txtすべてのメンバーまたはLocal/Globalグループ メンバーシップの詳細を数秒で取得します。実行するコマンドはありますか、それともスクリプトが必要ですか?

メルビン

4

1 に答える 1

0

これは私がそのために使用するスクリプトですが、これはあなたのようなコンソールコマンドほど速く実行されることはありません。それが問題である場合は、実行コマンドを使用してスクリプトからコマンドを実行できます。ドメインの 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
于 2012-11-23T08:36:43.317 に答える