Möglichkeiten für WMI-Skript-Abfrage auf entferntem Rechner

29/10/2007 - 13:08 von kornkreismacher | Report spam
Hi,

ich habe mal eine Frage, bezüglich des WMI Abfragens auf entfernten
Rechnern. Es gibt bereits viele Skripts, mit welchen man Daten auf
entferneten REchnern im LAN abfragan kann. Die meisten sind aber so
aufgebaut, dass man nur bei zBsp.: strComputer = "." den Punkt durch die IP
oder den PC Namen erstzen soll. DAs verstehe ich nicht. Das funktioniert nie
bei mir. Ich habe alles Administratorechte auf den betreffenden PCs. Ich kann
nur so auf andere Rechner zugreifen: Beispielskript:


Const WbemAuthenticationLevelPktPrivacy = 6

strComputer = "PC1"
strNamespace = "root\cimv2"
strUser = "user1" 'domàne\admin
strPassword = "123456789"

Set objWbemLocator = CreateObject("WbemScripting.SWbemLocator")
Set objWMIService = objwbemLocator.ConnectServer _
(strComputer, strNamespace, strUser, strPassword)
objWMIService.Security_.authenticationLevel =
WbemAuthenticationLevelPktPrivacy

Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_Processor",
"WQL", _
wbemFlagReturnImmediately + wbemFlagForwardOnly)

For Each objItem in ColItems
WScript.Echo "MaxClockSpeed: " & objItem.MaxClockSpeed
WScript.Echo "Name: " & objItem.Name
WScript.Echo "Role: " & objItem.Role
WScript.Echo "SystemName: " & objItem.SystemName
Next



Habt ihr da andere Lösungen!?!? Oder muss ich noch was anderes an Windows
konfigurieren? Es geht ja, wie gesagt! Aber nur mit Passwort und Usernamen
und IP!

Mein Problem ist dann auch das folgende Skript auf einen entfernten Rechner
anzuwenden! Ich kann die Daten für Passwort,User und Adresse nicht in das
Skript einbauen. Lokal funktioniert es!


'Prozess starten lokal

strComputer = "."
prozess = "D:\TCPView\Tcpview.exe"

Set objWMIService = GetObject("winmgmts:\\" & strComputer &
"oot\cimv2:Win32_Process")

Error = objWMIService.Create(prozess, null, null, intProcessID)

If Error = 0 Then
Wscript.Echo prozess & " wurde mit der Prozess ID " & intProcessID & "
gestartet."
Else
Wscript.Echo prozess & " konnte nicht gestartet werden. Fehlercode: " &
Error & "."
End If
 

Lesen sie die antworten

#1 Pegasus \(MVP\)
29/10/2007 - 18:50 | Warnen spam
"kornkreismacher" wrote in
message news:
Hi,

ich habe mal eine Frage, bezüglich des WMI Abfragens auf entfernten
Rechnern. Es gibt bereits viele Skripts, mit welchen man Daten auf
entferneten REchnern im LAN abfragan kann. Die meisten sind aber so
aufgebaut, dass man nur bei zBsp.: strComputer = "." den Punkt durch die
IP
oder den PC Namen erstzen soll. DAs verstehe ich nicht. Das funktioniert
nie
bei mir. Ich habe alles Administratorechte auf den betreffenden PCs. Ich
kann
nur so auf andere Rechner zugreifen: Beispielskript:


Const WbemAuthenticationLevelPktPrivacy = 6

strComputer = "PC1"
strNamespace = "root\cimv2"
strUser = "user1" 'domàne\admin
strPassword = "123456789"

Set objWbemLocator = CreateObject("WbemScripting.SWbemLocator")
Set objWMIService = objwbemLocator.ConnectServer _
(strComputer, strNamespace, strUser, strPassword)
objWMIService.Security_.authenticationLevel > WbemAuthenticationLevelPktPrivacy

Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_Processor",
"WQL", _
wbemFlagReturnImmediately + wbemFlagForwardOnly)

For Each objItem in ColItems
WScript.Echo "MaxClockSpeed: " & objItem.MaxClockSpeed
WScript.Echo "Name: " & objItem.Name
WScript.Echo "Role: " & objItem.Role
WScript.Echo "SystemName: " & objItem.SystemName
Next



Habt ihr da andere Lösungen!?!? Oder muss ich noch was anderes an Windows
konfigurieren? Es geht ja, wie gesagt! Aber nur mit Passwort und Usernamen
und IP!

Mein Problem ist dann auch das folgende Skript auf einen entfernten
Rechner
anzuwenden! Ich kann die Daten für Passwort,User und Adresse nicht in das
Skript einbauen. Lokal funktioniert es!


'Prozess starten lokal

strComputer = "."
prozess = "D:\TCPView\Tcpview.exe"

Set objWMIService = GetObject("winmgmts:\\" & strComputer &
"oot\cimv2:Win32_Process")

Error = objWMIService.Create(prozess, null, null, intProcessID)

If Error = 0 Then
Wscript.Echo prozess & " wurde mit der Prozess ID " & intProcessID & "
gestartet."
Else
Wscript.Echo prozess & " konnte nicht gestartet werden. Fehlercode: " &
Error & "."
End If




Ich habe überhaupt kein Problem mit dem folgenden Script, den ich
praktisch unveràndert von Dir übernommen habe::
Const WbemAuthenticationLevelPktPrivacy = 6
strComputer = "."
strNamespace = "root\cimv2"

Set objWbemLocator = CreateObject("WbemScripting.SWbemLocator")
Set objWMIService = objWbemLocator.ConnectServer _
(strComputer, strNamespace)
objWMIService.Security_.authenticationLevel =
WbemAuthenticationLevelPktPrivacy

Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_Processor", _
"WQL", wbemFlagReturnImmediately + wbemFlagForwardOnly)

For Each objItem In colItems
WScript.Echo "MaxClockSpeed: " & objItem.MaxClockSpeed
WScript.Echo "Name: " & objItem.Name
WScript.Echo "Role: " & objItem.Role
WScript.Echo "SystemName: " & objItem.SystemName
Next
oder mit diesem, der eine Kopie von deinem ist:
Const WbemAuthenticationLevelPktPrivacy = 6

strComputer = "remote"
strNamespace = "root\cimv2"
strUser = "xxx"
strPassword = "yyy"

Set objWbemLocator = CreateObject("WbemScripting.SWbemLocator")
Set objWMIService = objWbemLocator.ConnectServer _
(strComputer, strNamespace, strUser, strPassword)
objWMIService.Security_.authenticationLevel =
WbemAuthenticationLevelPktPrivacy

Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_Processor", _
"WQL", wbemFlagReturnImmediately + wbemFlagForwardOnly)

For Each objItem In colItems
WScript.Echo "MaxClockSpeed: " & objItem.MaxClockSpeed
WScript.Echo "Name: " & objItem.Name
WScript.Echo "Role: " & objItem.Role
WScript.Echo "SystemName: " & objItem.SystemName
Next

Das folgende Link hilft Dir möglicherweise, TCPView.exe auf dem
entfernten Rechner zu starten:
http://www.microsoft.com/technet/sc...y0906.mspx

Ähnliche fragen