www.IT-Visions.de-Diskussionsforen (Version 2.1)
(Diese Seite wurde noch nicht auf das neue Layout umgestellt!)


Diese Foren stehen den Lesern unserer Bücher und allen anderen registrieren Benutzern dieser Website zur Verfügung. Wir würden uns freuen, wenn viele Nutzer dieser Website hier nicht nur Fragen stellen, sondern auch die Fragen anderer Nutzer beantworten. Diese Foren sind ein ehrenamtlicher, nicht-kommerzieller, unmoderierter Community-Dienst von www.IT-Visions.de. Wenn Sie kommerzielle Unterstützung für .NET/Scripting/PowerShell suchen, schauen Sie bitte auf unser Support-Angebot und unsere Schulungsangebote für Scripting und Schulungsangebote für .NET.



Remote ProcessUser per WMI ermitteln
Autor:  RalfTraben
E-mail:  Antworten bitte nur in das Forum!
Datum:  21.10.2005 15:10:50
Subject:  Remote ProcessUser per WMI ermitteln
Bezug zum Buch:  Windows Scripting
Message:  Hallo,

ich habe folgendes Problem mit einem Script:
Ich versuche auf einem entfernten PC herauszufinden, ob ein Benutzer an diesem angemeldet ist oder nicht. Dazu frage ich über WMI, win32_process den Besitzer ab. Hierzu melde ich mich mit Administratorrechten an. Wenn nun der angemeldete Benutzer an dem PC ein Administrator ist, dann klappt alles wunderbar, handelt es sich aber um ein Benutzer, der auf dem PC den ich abfrage nur über Hauptbenutzerrechte verfügt, dann erhalte ich, sobald ich auf einen entsprechenden Benutzerprozess treffe den Rückgabecode für Zugriff verweigert. Woran kann das liegen? Und gibt es eine Möglichkeit herauszufinden, ob ein Benutzer an einem entfernten PC angemeldet ist?

Vielen Dank im Voraus
es Grüßt Ralf Traben

strComputer = "pcname"
strDomain = "domain"
strUser = "benutzername"
strPassword = "passwort"
Set objSWbemLocator = CreateObject("WbemScripting.SWbemLocator")
Set objWMIService = objSWbemLocator.ConnectServer(strComputer, "root\CIMV2", strUser, strPassword, "MS_409", "ntlmdomain:" + strDomain)

Set colProcesses = objWMIService.ExecQuery("SELECT * FROM Win32_Process")

text=""

For Each objProcess in colProcesses

    Return = objProcess.GetOwner(strNameOfUser)
    If Return <> 0 Then
        text = text & "Could not get owner info for process " & _
            objProcess.Name & "Error = " & Return & VBNewLine
    Else
        text = text & "Process " _
            & objProcess.Name & " is owned by " _
            & "\" & strNameOfUser & "." & VBNewLine
    End If
    
Next

Wscript.Echo text

Antworten

  Zurück zum Forum



 Klassische Programmierung (Scripting, COM) -- Windows Scripting, VBScript, VB6, u.a.
 Remote ProcessUser per WMI ermitteln von RalfTraben  am 21.10.2005 3:10:50 PM


www.IT-Visions.de - Dr. Holger Schwichtenberg / 1998-2019