FuriousJack 10 Geschrieben 9. September 2008 Melden Teilen Geschrieben 9. September 2008 Hallo, ich schreibe gerade an einem kleinen Inventarisierungs-Script. Ausschnitt aus dem Script: ----- Set objLocator = CreateObject("WbemScripting.SWbemLocator") Set objService = objLocator.ConnectServer("testpc01", "root\cimv2", "domain\user", "pass") objService.Security_.ImpersonationLevel = 3 Set Products = _ objService.ExecQuery("SELECT * FROM Win32_Product") For each Product in Products WScript.Echo Product.Name Next ----- Das ganze funktioniert super solange ich mich an dem Zielrechner als Domänen-Administrator anmelde (über ConnectServer("testpc01", "root\cimv2", "domain\user", "pass")). Melde ich mich allerdings mit einem Benutzer der der nur lokale Admin-Rechte auf dem Ziel-Rechner hat an - dann ist das Products Array leer... Er tut so als wäre keine Software installiert. Hat jemand eine Idee woran das liegen könnte, bzw - welche Rechte ich verändern muss? Danke Zitieren Link zu diesem Kommentar
NilsK 2.934 Geschrieben 9. September 2008 Melden Teilen Geschrieben 9. September 2008 Moin, hast du die Fehlerbehandlung im Skript mit "on error resume next" abgeschaltet? Falls ja, kommentier das mal aus oder frag an den passenden Stellen das err-Objekt ab, damit du eine Fehlermeldung sehen kannst. Läuft das Skript, wenn du die Remoteverbindung rausnimmst und es als der betreffende User lokal ausführst? Gruß, Nils Zitieren Link zu diesem Kommentar
phoenixcp 10 Geschrieben 9. September 2008 Melden Teilen Geschrieben 9. September 2008 Wie sieht die folgende Zeile aus, wenn du versucht mit dem lokalen Admin zuzugreifen? Set objService = objLocator.ConnectServer("testpc01", "root\cimv2", "domain\user", "pass")[/Code] Zitieren Link zu diesem Kommentar
FuriousJack 10 Geschrieben 9. September 2008 Autor Melden Teilen Geschrieben 9. September 2008 Nils, ich habe die Fehlerbehandlung aus. Es kommt kein Fehler. Die WMI Abfrage gibt einfach ein leeres Array zurück... Carsten, wenn ich als lokaler Admin daraufzugreife sieht die Zeile so aus: Set objService = objLocator.ConnectServer("testpc01", "root\cimv2", "meinedomain\usermitlokalenadminrechten", "pass") Dieser Benutzer ist schon ein Benutzer der Domain - allerdings ist er kein Domain-Admin, aber er ist Mitglied der lokalen Administrator Gruppe - das sollte ja reichen. Wenn ich den Domain-Admin nehme geht es ja komsicherweise. Ich will den Domain-Admin aber nicht nehmen ;-) Was noch komisch ist: Wenn ich die Authentifizierung im Script selber weglasse - also einfach: Set objService = objLocator.ConnectServer("testpc01", "root\cimv2") und das Script dann als der Benutzer mit dem es vorhin nicht ging ausführe - dann gehts... Kann ich aber in der Endlösung nicht verwenden weil ich verschiedene Benutzer/Kennwörter habe, welche für die Inventarisierung in das Script dynamisch eingesetzt werden sollen. Dieses Problem macht mich noch verrückt. Zitieren Link zu diesem Kommentar
phoenixcp 10 Geschrieben 9. September 2008 Melden Teilen Geschrieben 9. September 2008 Kann ich aber in der Endlösung nicht verwenden weil ich verschiedene Benutzer/Kennwörter habe, welche für die Inventarisierung in das Script dynamisch eingesetzt werden sollen. Zwar eigentlich weg vom Thema, aber: WARUM? Im Normalfall nehm ich dafür nen allgemeingültigen User, der auf allen Maschinen darf und gut. Dieser Benutzer ist schon ein Benutzer der Domain - allerdings ist er kein Domain-Admin, aber er ist Mitglied der lokalen Administrator Gruppe Direkt oder über eine Domänengruppe? Zitieren Link zu diesem Kommentar
FuriousJack 10 Geschrieben 9. September 2008 Autor Melden Teilen Geschrieben 9. September 2008 Ich mach das über mehrere Domänen die nicht miteinander verbunden sind - desswegen geht das nicht über den angemeldeten User... Zur zweiten Frage - über eine Domänen-Gruppe, geht aber auch nicht wenn der User direkt in der lokalen Admin Gruppe ist... Zitieren Link zu diesem Kommentar
blub 115 Geschrieben 9. September 2008 Melden Teilen Geschrieben 9. September 2008 nicht komisch, sondern by design. Es sind nur Admins WMI "remote enabled", was ja sinnvoll ist Microsoft Corporation s. Tabelle 6.2 über das "wmi control" -> Properties -> Security -> Security (wirklich 2-mal) kann man die Sicherheit runterdrehen cu blub Zitieren Link zu diesem Kommentar
NilsK 2.934 Geschrieben 10. September 2008 Melden Teilen Geschrieben 10. September 2008 Moin, also braucht man standardmäßig, wenn ich es richtig lese, Adminrechte sowohl auf der lokalen als auch auf der entfernten Maschine, wenn man WMI remote ausführen möchte? Das war mir so gar nicht bewusst. Gruß, Nils Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.