Je voudrais récuperer des clés de registre sur plusieurs machines et les
enregistrer dans un fichier texte. Les machines sont récupérées via AD comme
scripté ci-dessous. Dans mon fichier TXT, je récupére bien l'ensemble de mes
noms de machines, mais uniquement le registre local de la machine depuis
laquelle j'execute le script.
Quelqu'un pourrait-il m'aider ?
Merci d'avance
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set ObjTextFileCreate=objFSO.CreateTextFile("D:\Suffix.txt",true)
ToWrite1= "Computer Name;Current DNS Suffix;New DNS Suffix"
objTextFileCreate.writeline(ToWrite1)
objTextFileCreate.close
Set objConnection = CreateObject("ADODB.Connection")
Set objCommand = CreateObject("ADODB.Command")
objConnection.Provider = "ADsDSOObject"
objConnection.Open "Active Directory Provider"
Set objCOmmand.ActiveConnection = objConnection
objCommand.CommandText = _
"Select Name, Location from 'LDAP://dc=xxx,dc=yyy,dc=com' " _
& "Where objectClass='computer'"
objCommand.Properties("Page Size") = 1000
objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE
Set objRecordSet = objCommand.Execute
objRecordSet.MoveFirst
Do Until objRecordSet.EOF
Set ws = WScript.CreateObject("WScript.Shell")
v=ws.RegRead("HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Domain")
x=ws.RegRead("HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\NV
Domain")
ToWrite= objRecordSet.Fields("Name").Value & ";" & v & ";" & x
Set objTextFile = objFSO.OpenTextFile("D:\Suffix.txt", ForAppending)
objTextFileCreate.writeline(ToWrite)
objTextFileCreate.close
objRecordSet.MoveNext
Loop
objTextFile.close
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Thierry DEMAN [MVP]
Bonsoir,
dans l'instruction "RegRead" que tu utilises, je ne vois pas l'indication d'un ordinateur distant !!! l'objet "ws" crée un objet shell Regread lit le registre local....
Il n'a aucune raison de lire une machine distante...
=> Utilise la syntaxe suivante computernamekeyname pour atteindre les registres distants.
A bientôt, -- Thierry DEMAN-BARCELÒ MVP Exchange, SQL/Server MCSE2003+M+S,MCSE+I,MCDBA http://base.faqexchange.info http://www.faqexchange.info "Vincent" wrote in message news:
Bonjour,
Je voudrais récuperer des clés de registre sur plusieurs machines et les enregistrer dans un fichier texte. Les machines sont récupérées via AD comme scripté ci-dessous. Dans mon fichier TXT, je récupére bien l'ensemble de mes noms de machines, mais uniquement le registre local de la machine depuis laquelle j'execute le script. Quelqu'un pourrait-il m'aider ? Merci d'avance
Set objFSO = CreateObject("Scripting.FileSystemObject") Set ObjTextFileCreate=objFSO.CreateTextFile("D:Suffix.txt",true) ToWrite1= "Computer Name;Current DNS Suffix;New DNS Suffix" objTextFileCreate.writeline(ToWrite1) objTextFileCreate.close
Set objConnection = CreateObject("ADODB.Connection") Set objCommand = CreateObject("ADODB.Command") objConnection.Provider = "ADsDSOObject" objConnection.Open "Active Directory Provider"
Set objCOmmand.ActiveConnection = objConnection objCommand.CommandText = _ "Select Name, Location from 'LDAP://dc=xxx,dc=yyy,dc=com' " _ & "Where objectClass='computer'" objCommand.Properties("Page Size") = 1000 objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE Set objRecordSet = objCommand.Execute objRecordSet.MoveFirst
Do Until objRecordSet.EOF Set ws = WScript.CreateObject("WScript.Shell")
v=ws.RegRead("HKLMSYSTEMCurrentControlSetServicesTcpipParametersDomain") x=ws.RegRead("HKLMSYSTEMCurrentControlSetServicesTcpipParametersNV Domain") ToWrite= objRecordSet.Fields("Name").Value & ";" & v & ";" & x Set objTextFile = objFSO.OpenTextFile("D:Suffix.txt", ForAppending) objTextFileCreate.writeline(ToWrite) objTextFileCreate.close objRecordSet.MoveNext Loop objTextFile.close
Bonsoir,
dans l'instruction "RegRead" que tu utilises, je ne vois pas l'indication
d'un ordinateur distant !!!
l'objet "ws" crée un objet shell
Regread lit le registre local....
Il n'a aucune raison de lire une machine distante...
=> Utilise la syntaxe suivante \computernamekeyname pour atteindre les
registres distants.
A bientôt,
--
Thierry DEMAN-BARCELÒ
MVP Exchange, SQL/Server
MCSE2003+M+S,MCSE+I,MCDBA
http://base.faqexchange.info
http://www.faqexchange.info
"Vincent" <Vincent@discussions.microsoft.com> wrote in message
news:C7806F7A-4F11-4268-92C0-3A1E6E3B7069@microsoft.com...
Bonjour,
Je voudrais récuperer des clés de registre sur plusieurs machines et les
enregistrer dans un fichier texte. Les machines sont récupérées via AD
comme
scripté ci-dessous. Dans mon fichier TXT, je récupére bien l'ensemble de
mes
noms de machines, mais uniquement le registre local de la machine depuis
laquelle j'execute le script.
Quelqu'un pourrait-il m'aider ?
Merci d'avance
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set ObjTextFileCreate=objFSO.CreateTextFile("D:Suffix.txt",true)
ToWrite1= "Computer Name;Current DNS Suffix;New DNS Suffix"
objTextFileCreate.writeline(ToWrite1)
objTextFileCreate.close
Set objConnection = CreateObject("ADODB.Connection")
Set objCommand = CreateObject("ADODB.Command")
objConnection.Provider = "ADsDSOObject"
objConnection.Open "Active Directory Provider"
Set objCOmmand.ActiveConnection = objConnection
objCommand.CommandText = _
"Select Name, Location from 'LDAP://dc=xxx,dc=yyy,dc=com' " _
& "Where objectClass='computer'"
objCommand.Properties("Page Size") = 1000
objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE
Set objRecordSet = objCommand.Execute
objRecordSet.MoveFirst
Do Until objRecordSet.EOF
Set ws = WScript.CreateObject("WScript.Shell")
v=ws.RegRead("HKLMSYSTEMCurrentControlSetServicesTcpipParametersDomain")
x=ws.RegRead("HKLMSYSTEMCurrentControlSetServicesTcpipParametersNV
Domain")
ToWrite= objRecordSet.Fields("Name").Value & ";" & v & ";" & x
Set objTextFile = objFSO.OpenTextFile("D:Suffix.txt", ForAppending)
objTextFileCreate.writeline(ToWrite)
objTextFileCreate.close
objRecordSet.MoveNext
Loop
objTextFile.close
dans l'instruction "RegRead" que tu utilises, je ne vois pas l'indication d'un ordinateur distant !!! l'objet "ws" crée un objet shell Regread lit le registre local....
Il n'a aucune raison de lire une machine distante...
=> Utilise la syntaxe suivante computernamekeyname pour atteindre les registres distants.
A bientôt, -- Thierry DEMAN-BARCELÒ MVP Exchange, SQL/Server MCSE2003+M+S,MCSE+I,MCDBA http://base.faqexchange.info http://www.faqexchange.info "Vincent" wrote in message news:
Bonjour,
Je voudrais récuperer des clés de registre sur plusieurs machines et les enregistrer dans un fichier texte. Les machines sont récupérées via AD comme scripté ci-dessous. Dans mon fichier TXT, je récupére bien l'ensemble de mes noms de machines, mais uniquement le registre local de la machine depuis laquelle j'execute le script. Quelqu'un pourrait-il m'aider ? Merci d'avance
Set objFSO = CreateObject("Scripting.FileSystemObject") Set ObjTextFileCreate=objFSO.CreateTextFile("D:Suffix.txt",true) ToWrite1= "Computer Name;Current DNS Suffix;New DNS Suffix" objTextFileCreate.writeline(ToWrite1) objTextFileCreate.close
Set objConnection = CreateObject("ADODB.Connection") Set objCommand = CreateObject("ADODB.Command") objConnection.Provider = "ADsDSOObject" objConnection.Open "Active Directory Provider"
Set objCOmmand.ActiveConnection = objConnection objCommand.CommandText = _ "Select Name, Location from 'LDAP://dc=xxx,dc=yyy,dc=com' " _ & "Where objectClass='computer'" objCommand.Properties("Page Size") = 1000 objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE Set objRecordSet = objCommand.Execute objRecordSet.MoveFirst
Do Until objRecordSet.EOF Set ws = WScript.CreateObject("WScript.Shell")
v=ws.RegRead("HKLMSYSTEMCurrentControlSetServicesTcpipParametersDomain") x=ws.RegRead("HKLMSYSTEMCurrentControlSetServicesTcpipParametersNV Domain") ToWrite= objRecordSet.Fields("Name").Value & ";" & v & ";" & x Set objTextFile = objFSO.OpenTextFile("D:Suffix.txt", ForAppending) objTextFileCreate.writeline(ToWrite) objTextFileCreate.close objRecordSet.MoveNext Loop objTextFile.close