DaSilva 10 Geschrieben 16. Januar 2008 Melden Teilen Geschrieben 16. Januar 2008 Wie kann ich den Computernamen und Benutzernamen aller angemeldeten Benutzer in eine Datei schreiben? Basis ist Windows 2003 Server. Danke. Zitieren Link zu diesem Kommentar
XP-Fan 217 Geschrieben 16. Januar 2008 Melden Teilen Geschrieben 16. Januar 2008 Hallo, du kannst den Benutzer mit %username% und den PC mit %Computername% ansprechen. Das ganze als Startscript hinterlegt und Ausgabe in eine Freigabe des Servers umgelenkt. Zitieren Link zu diesem Kommentar
DaSilva 10 Geschrieben 16. Januar 2008 Autor Melden Teilen Geschrieben 16. Januar 2008 Das zeigt mir aber nur den eigenen Login, nicht alle angemeldeten Benutzer- und Computernamen. Zitieren Link zu diesem Kommentar
XP-Fan 217 Geschrieben 16. Januar 2008 Melden Teilen Geschrieben 16. Januar 2008 Hallo, das willst du doch oder ? Ist klar wenn du das auf deinem PC ausführst das deine Daten angezeigt werden. Mach das mal auf einem anderen PC ... Hast du eine Domäne zur Verfügung ? Zitieren Link zu diesem Kommentar
DaSilva 10 Geschrieben 16. Januar 2008 Autor Melden Teilen Geschrieben 16. Januar 2008 Es handelt sich beim Server um einen Citrix Server. Bei diesem möchte alle angemeldeten Benutzer inkl. Computernamen angezeigt bekommen. Wie mein Login heißt ist mir ja klar. Zitieren Link zu diesem Kommentar
XP-Fan 217 Geschrieben 16. Januar 2008 Melden Teilen Geschrieben 16. Januar 2008 Es handelt sich beim Server um einen Citrix Server. Die Infos kommen langsam ..... warum nicht gleich ? :o Reicht es dir wenn du per User eine cmd startest und anhand dieser auswerten kannst wer an diesem Tag von welchem Rechner sich angemeldet hat ? Ansonsten schau mal hier vorbei: PsLoggedOn LogonSessions Zitieren Link zu diesem Kommentar
DaSilva 10 Geschrieben 16. Januar 2008 Autor Melden Teilen Geschrieben 16. Januar 2008 Beide Programme geben nicht den Computernamen aus :( Zitieren Link zu diesem Kommentar
kalle10000 10 Geschrieben 25. Januar 2008 Melden Teilen Geschrieben 25. Januar 2008 Hi, ich habe mich damit auch mal befasst. Dieses Skript als .vbs abspeichern. Es funktioniert, wenn alle Firewalls richtig konfiguriert oder ausgeschaltet sind. Und dann auf dem Domänencontroller mit Adminrechten in der Konsole mit 'cscript Pfad >Datei.txt' starten. Teste es 'mal. Set objShell = CreateObject("WScript.Shell") Set objWshScriptExec = objShell.Exec("net view") 'Zum Abfangen der "net view"Ausgabe stdOut verwenden Set objStdOut = objWshScriptExec.StdOut 'gesamte "net view"-Ausgabe in strOutput speichern ... strOutput = objStdOut.ReadAll '... und in einzelne Zeilen zerlegen (am Zeilenende = vbCrLF splitten), die als Array gespeichert werden. 'aLines = Array("") aLines = Split(strOutput, vbCrLF) 'Variable für die Zusammenfassung initialisieren strResult = "" 'Schleife über alle einzelnen Zeilen For i = 0 To UBound(aLines) 'Wenn die Zeile mit "\\" beginnt, ... If Left(aLines(i), 2) = "\\" Then '... enthält sie ab Position 3 einen Rechnernamen. strCmp = Trim(Mid(aLines(i), 3)) On Error Resume Next strCompi = Split(strCmp, " ") strCmp = strCompi(0) 'Falls beim Abfragen des Computers ein Fehler eintritt, nicht abbrechen ... On Error Resume Next 'Ab dem zweiten gefundenen Rechner (wenn strResult also schon ein Ergebnis enthält) ... If strResult <> "" Then '... zunächst eine Zeilenschaltung und dann Computernamen und User hinzufügen. strResult = strResult & vbCrLF & strCmp & vbTab & UserName(strCmp) Else 'Beim ersten Eintrag ist die Zeilenschaltung nicht nötig. strResult = strCmp & vbTab & UserName(strCmp) End If 'Ab hier wieder bei einem Fehler abbrechen ... On Error Goto 0 End If Next 'Das Ergebnis in einer Form ausgeben, die auch den Aufruf aus einer Batchdatei ermöglicht: WScript.Echo strResult WScript.Quit Function UserName(strComputer) 'Abfrage des beim Funktionsaufruf übergebenen Computernamens per WMI Set objWMIService = GetObject("WinMgmts:\\" & strComputer & "\root\cimv2") Set colItems = objWMIService.ExecQuery( _ "SELECT * FROM Win32_ComputerSystem",,48) 'Auch wenn nur ein Computer abgefragt wird, ist das Ergebnis eine Aufzählung, 'deren einzelne Elemente mit "For Each" durchlaufen werden ... For Each objItem in colItems 'Den Usernamen als Eigenschaft auslesen und zwischenspeichern ... strUser = objItem.UserName Next '... und falls kein User angemeldet ist, Infotext erzeugen. If IsNull(strUser) Then strUser = "No User" 'Function-Ergebnis festlegen UserName = strUser End Function 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.