Jump to content

daabm

Expert Member
  • Gesamte Inhalte

    5.610
  • Registriert seit

  • Letzter Besuch

Beiträge erstellt von daabm

  1. 13% CPU - ist das ein Quadcore mit Hyperthreading? Das wären dann 100% in einem einzelnen Thread...

     

    Eine schlaue Idee habe ich leider auch nicht - evtl. mal Process Explorer, Threads anschauen (was genau hat da die meisten Context Switches), und wenn man kann (ich nicht), dann sollte sich .NET mit Visual Studio auch debuggen lassen.

  2. Ok, here we go :)

     

    Erst mal eine Funktion, um die Session-ID zu ermitteln. In PoSh wäre das einfach ($PID), aber in VBS habe ich kein Objekt für meinen eigenen Prozess...

     

    Function GetSessionID( strUsername )
        Dim myQuery, myCol, myObj, myRC, myUser
        If strUsername = "" Then strUsername = CreateObject( "WScript.Shell" ).Environment( "PROCESS" ).Item( "USERNAME" )
        myQuery = "SELECT SessionID,Name FROM Win32_Process WHERE ExecutablePath=""" & Replace( WScript.Fullname, "\", "\\" ) & """"
        Set myCol = oWMI.ExecQuery( myQuery )
        For Each myObj In myCol
            myRC = myObj.GetOwner( myUser )
            If myRC = 0 Then
                If StrComp( myUser, strUsername, vbTextCompare ) = 0 Then GetSessionID = myObj.SessionID
            End If
        Next
    End Function
    
    Anmerkung: Die Abfrage, ob myUser = strUsername ist, muß rein, damit der Code keine Prozesse von anderen Benutzern findet, die zufällig die gleiche EXE haben - das wäre der Fall, wenn man das als Admin ausführt. Und Logonskripts laufen mit dem Full (elevated) Token...

     

    Jetzt können wir uns den Clientname aus der Registrierung holen.

     

    SessionID = GetSessionID( "" )
    Sessionname = oWsh.RegRead( "HKCU\Volatile Environment\" & SessionID & "\Sessionname" )
    Clientname = oWSH.RegRead( "HKCU\Volatile Environment\" &  SessionID & "\Clientname" )
    
  3. Unter W7 gibt es an relevanten Einträgen in der Registry nur ProfileList (bei W8 sind ein paar dazugekommen...)

     

    Ich würde empfehlen, alle temporären Profile des Users sowie den Eintrag unter ProfileList zu entsorgen und dann ein Procmon-Bootlog von der Anmeldung dieses Benutzers zu erstellen. Oder - weil die Analyse etwas aufwändiger sein kann :) - den Rechner neu aufsetzen.

×
×
  • Neu erstellen...