WMI lokaler Aufruf klappt, Remote Aufruf auf anderen Rechner bricht ab,...

18/06/2008 - 20:16 von Kerem Gümrükcü | Report spam
Hallo,

nun vorab, ich habe mal alles an Firewalls und Blockern
abegschaltet, nur um zu sehen, was das Problem sein
könnte. Der WMI Client ist ein Windows XP und das
WMI Ziel ist ein WIndows 2000 Pro. WMI ist
grundsàtzlich auf beiden Seiten erreichbar. Folgendes
rufe ich auf meinem lokalen Windows XO auf un es klappt
ohne Probleme:


WMIParameter[] inParams = new WMIParameter[2];

inParams[0] = new WMIParameter("Flags", typeof(System.Int32), exitWindows);

inParams[1] = new WMIParameter("Reserved", typeof(System.Int32), 0);

ManagementBaseObject outParams;

outParams ExecuteWMIMethodOnRemoteMachine_ThrowsException(TargetMachineName,

"Win32_OperatingSystem",

"Win32Shutdown",

inParams, TargetMachineUserName, TargetMachineUserPassword);



Die Signatur der Funktion sollte sich selbst erklàren:

outParams ist das was ich zurückbekomme, wenn was zurückommt.
Die Parameter mit dem Target* sollte klar sein. die zwei Strings
sind die Zielklasse "Win32_OperatingSystem" und die Ziel
Methode"Win32Shutdown"

inParams ist eine benutzerdefinierte klasse die parameter auf die Methode
abbildet.

Sobald ich von meinem Windows XP aber auf den Windows 2000 zugreife
und umgekehrt, bekomme ich die Meldung "Die Parameter der Methode
sind ungültig", obwohl das der absolut gleiche Aufruf ist. Lokal klappt es
ohne
Probleme. Keine Firewalls, volle Rechte auf beiden Maschinen, DCOM und
Kommunikation richtig konfiguriert,...ich habe ja auch Zugang zu dem WMI
Interface des jeweils gegenüberliegenden Computer. Das Programm Token
hat auch die SeShutdownName Privilegien aktiviert,...

Was könnte das nun sein,..

Grüße

Kerem

Beste Grüsse / Best regards / Votre bien devoue
Kerem Gümrükcü
Microsoft Live Space: http://kerem-g.spaces.live.com/
Latest Open-Source Projects: http://entwicklung.junetz.de
"This reply is provided as is, without warranty express or implied."
 

Lesen sie die antworten

#1 Frank Dzaebel
18/06/2008 - 21:03 | Warnen spam
Hallo Kerem,

"Win32_OperatingSystem", "Win32Shutdown",
... Sobald ich von meinem Windows XP aber auf den Windows 2000 zugreife
und umgekehrt, bekomme ich die Meldung "Die Parameter der Methode sind
ungültig", obwohl das der absolut gleiche Aufruf ist. Lokal klappt es ohne
Probleme.



Leider wieder recht "non-C#", :-(
Was ist da genau lokal? Auf dem Win2000er oder auf dem
XP Rechner? Schau ggf. mal auf dem Win2000er, ob in der
%systemroot%\System32\Wbem\Cimwin32.mof
die Win32ShutDown-Methode drin ist. Das muss
nicht sein.





Das Programm Token hat auch die SeShutdownName Privilegien aktiviert,...



Auch SE_REMOTE_SHUTDOWN_NAME ?

[Privilege Constants (Windows)]
http://msdn.microsoft.com/en-us/library/aa392758(VS.85).aspx




_____________________

Keine Firewalls, volle Rechte auf beiden Maschinen ...



ok, dann hast Du auf *der* Seite wohl alles korrekt.
Trotzdem ein paar Referenzen:

Vista/Server 2008:
[Connecting to WMI Remotely Starting with Vista (Windows)]
http://msdn.microsoft.com/en-us/lib...22854.aspx

Win2003, WinXP, Win2000, WinNT 4.0:
[Connecting to WMI on a Remote Computer (Windows)]
http://msdn.microsoft.com/en-us/library/aa389290(VS.85).aspx

[Win32Shutdown Method of the Win32_OperatingSystem Class (Windows)]
http://msdn.microsoft.com/en-us/library/aa394058(VS.85).aspx


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen