Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

PSLoggedon String zerlegen

Frage Entwicklung

Mitglied: Xaero1982

Xaero1982 (Level 3) - Jetzt verbinden

19.04.2006, aktualisiert 18.10.2012, 10528 Aufrufe, 8 Kommentare

Hallo, ich habe das bereits in meinem TUT angesprochen, aber das ist mir langsam zu offtopic. Deswegen gehts hier weiter:
http://www.administrator.de/Eingeloggten_User_ermitteln.html

01.
        SET objShell = CreateObject("WScript.Shell") 
02.
        strCommand = localpath & "psloggedon.exe \\" & strComputer & " -l" 
03.
        SET objExecObject = objShell.Exec(strCommand) 
04.
        DO WHILE Not objExecObject.StdOut.AtEndOfStream 
05.
            strText = objExecObject.StdOut.ReadAll() 
06.
        LOOP 
07.
'================== 
08.
'        strText = split(strText,chr(13)) 
09.
'        strLoggedOn = split(strText(8),chr(92)) 
10.
'================== 
11.
	If InStr( strText, ".200" ) > 0 Then 
12.
             LastLogonUser = Mid(strText, InStrRev(strText,"\")+1) 
13.
	end if 
14.
'================== 
15.
'        str = str & GetRow("LoggedonUser", strLoggedOn(1)) 
16.
        str = str & Getrow("LoggedonUser2",LastLogonUser)
Ok, nun hab ich das Problem gefunden warum es nicht gehen wird!
Das "-l" interessiert den nicht! Da würde nur der lokal angemeldete Nutzer angezeigt werden. Aber das geht nicht!

Die Ausgabe wenn ich den User via PSLoggedon auf einem RemotePC mit Windows XP auslese sieht wie folgt aus:

01.
PsLoggedOn v1.31 - Logon Session Displayer 
02.
Copyright (C) 1999-2003 Mark Russinovich 
03.
Sysinternals - www.sysinternals.com 
04.
 
05.
Users logged on locally: 
06.
     <Unknown> NT-AUTORITÄT\LOKALER DIENST 
07.
     <Unknown> NT-AUTORITÄT\NETZWERKDIENST 
08.
     <Unknown> XXX\ZZZ 
09.
     <Unknown> NT-AUTORITÄT\SYSTEM 
10.
 
11.
Users logged on via resource shares: 
12.
     19.04.2006 07:58:10    XXX\YYY
Auf einer Windows 2000 Maschine sieht es so aus:

01.
PsLoggedOn v1.31 - Logon Session Displayer 
02.
Copyright (C) 1999-2003 Mark Russinovich 
03.
Sysinternals - www.sysinternals.com 
04.
 
05.
Users logged on locally: 
06.
     <Unknown> XXX\YYY 
07.
 
08.
Users logged on via resource shares: 
09.
     19.04.2006 07:59:09    XXX\ZZZ
Tja, also nichts mit .200 :/
Und mit Unknown kann ich auch nichts anfangen!
Bleibt wir wohl nur die Möglichkeit über mein anderes Tutorial über MOF
Mitglied: dieseyer
19.04.2006 um 19:48 Uhr
Hallo!

Zeichenkette "<Unknown>" suchen - und wenn in dieser Zeile nicht "NT-AUTORITÄT":
If InStr( Zeile(i), "<Unknown>") > 0 AND InStr( Zeile(i), "NT-AUTORITÄT") = 0 Then
Txt = Mid( Zeile(i), InStrRev( Zeile(i), " " ) + 1 )
MsgBox "==>" & Txt & "<=="
End If
Bitte warten ..
Mitglied: 24758
19.04.2006 um 19:51 Uhr
Vielleicht hilft Dir das Tool "whoami" weiter. Ist auf den Windosxp-CD im Verzeichnis Support/Tools/suptools.msi enthalten. Oder im Ressourcekit von Windows Server 2000.
Bitte warten ..
Mitglied: Xaero1982
19.04.2006 um 22:19 Uhr
Vielleicht hilft Dir das Tool
"whoami" weiter. Ist auf den
Windosxp-CD im Verzeichnis
Support/Tools/suptools.msi enthalten. Oder
im Ressourcekit von Windows Server 2000.

Denke nicht, aber dennoch danke

@dieseyer..werd es morgen mal testen
Bitte warten ..
Mitglied: Biber
19.04.2006 um 22:30 Uhr
...und am CMD-Prompt (bzw. mit Shell-Aufruf) ist es so problematisch auch nicht.

Zwei Varianten:

a) entweder, wenn es nur um eine Domäne geht:
psloggedon -l \\[compi] |find "%userdomain%
(oder auch Domäne im Klartext, wenn Du die abgrast
psloggedon -l -d DOMAIN |find "DOMAIN"

-oder-

b) psloggedon -l -d DOMAIN|find /v "AUTORIT"
--->dieses Ergebnis sollte unter W2K und win2002/XP und Win2003 IMMER in der 7ten Zeile diesen XXX\usernamen -String bringen.
In einem Batch dann also:
For /F %%i "delims=\ tokens=2 skip=6" in ('psloggedon -l -d DOMAIN^|find /v "AUTORIT"') do echo %%i
--->sollte den Usernamen liefern. Den DOMAIN-Namen kennst Du ja schon.

Gruß
Biber
Bitte warten ..
Mitglied: Xaero1982
20.04.2006 um 07:25 Uhr
Ich glaube ich werde mich dennoch für meine mof entscheiden, da ich sonst immer pfadgebunden bin mit der psloggedon.exe ..
werde es nachher mit cheffe bereden und dann weiter testen
Bitte warten ..
Mitglied: Xaero1982
03.05.2006, aktualisiert 18.10.2012
Das wäre ja zu schön gewesen Hillerbaby

Funktioniert leider nicht, wenn der derzeit angemeldete Nutzer nur Benutzerrechte hat.

Siehe:
http://www.administrator.de/wissen/mof-wmi-registry-30645.html
http://www.administrator.de/wissen/eingeloggten-user-ermitteln-29737.ht ...
Bitte warten ..
Mitglied: HardCoreIndianer
02.11.2006 um 12:29 Uhr
Doch doch das geht, selbst wenn mehrere User angemeldet sind.
Bitte warten ..
Mitglied: Xaero1982
19.04.2007 um 14:13 Uhr
Diese Antwort war sehr hilfreich. Danke Indianer
Bitte warten ..
Neuester Wissensbeitrag
Internet

Unbemerkt - Telekom Netzumschaltung! - BNG - Broadband Network Gateway

(3)

Erfahrungsbericht von ashnod zum Thema Internet ...

Ähnliche Inhalte
Batch & Shell
gelöst PowerShell String zerlegen in Array, DataTable, Hashtable speichern (7)

Frage von derhoeppi zum Thema Batch & Shell ...

C und C++
gelöst Anzahl der Buchstaben in einem String Element Array C++ (3)

Frage von Protected zum Thema C und C ...

C und C++
String einlesen in Array und wieder ausgeben von hinten (4)

Frage von Protected zum Thema C und C ...

Batch & Shell
gelöst Poweshell Script soll String ersetzen und die leere Zeile löschen (4)

Frage von Mars123 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (17)

Frage von JayyyH zum Thema Switche und Hubs ...

Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

Microsoft Office
Keine Updates für Office 2016 (11)

Frage von Motte990 zum Thema Microsoft Office ...