banane31
Goto Top

AD Auswertung - Welcher User war zuletzt an PC XXX angemeldet

Hallo zusammen,

ich stehe hier gerade mal wieder vor einem Problem, was schon viel Zeit und nerven gekostet hat!

Erstmal zum Problem:
Wir nutzten seid neustem F-Secure Business Security in unserem Unternhemen.
Vorher war Microsoft Forefront Client Security in Betrieb.

F-Secure versprach uns, dass beim ausrollen ihrer .msi der Forefront sauber deinstalliert wird.
Das ist nun leider nicht so, nach Rücksprache mit denen haben wir noch eine neue Version mit
einem FIX bekommen, das funktioniert aber auch nicht!
Win32ErrorCode 1
Nun habe ich mir die Mühe gemacht und eine Excel Tabelle mit sämtlichen Rechnernamen angelegt.

Auf Rechnern mit Windows 8.1 gibt es keine Probleme, da dort nur der Windows Defender standardmäßig drauf ist.
Auf allen anderen Rechnern (Windows 7 SP1 Ent) ist also Forefront drauf und muss runter!

Ich bin nun schon umher gewandert und habe ca. 80 Rechner geprüft und Forefront deinstalliert.
Da ich hier noch ca. 180 PC's habe wo ich das gleiche machen muss....suche ich nach einer Hilfestellung.

Die PC's sind alle Fortlaufend nummeriert und wir haben TeamViewer auf jedem Rechner.
Da ich nicht einfach auf jeden PC Connecten will (Datenschutz) bräuchte ich über das AD
eine Auswertung welcher User zuletzt an welchem PC angemeldet war, um diesen telefonisch um Erlaubnis zu fragen.

Hatte sons auch schon überlegt via Explorer \\Clientname\C$ auf die Benutzerverzeichnnisse zu schauen, das ist aber viel zu aufwendig!

Ich bedanke mich und wünsche einen guten Start in den Tag und schonmal ein schönes Wochenende.

Content-ID: 252944

Url: https://administrator.de/contentid/252944

Ausgedruckt am: 21.11.2024 um 22:11 Uhr

xbast1x
xbast1x 24.10.2014 um 07:56:34 Uhr
Goto Top
Würde mir dem TO anschließen
AnkhMorpork
AnkhMorpork 24.10.2014 um 08:14:36 Uhr
Goto Top
Kann man das nicht aus den Event-Logs auslesen?

ankh
xbast1x
xbast1x 24.10.2014 um 08:34:35 Uhr
Goto Top
Ja aber dafür wird ein Script benötigt, welches nur die Zeilen für An/Abmeldung ausliest
seltsam
seltsam 24.10.2014 um 08:34:42 Uhr
Goto Top
Moin,

Eventlog ist gut.
Kannst Dir auch eine Gruppenrichtlinie bauen, welche Dir Anmeldeereignisse anzeigt.
Das bedeutet aber auch viele Logfiles.
Oder Ein kleines script in einer Gruppenrichtlinie, was Dir den aktuellen Benutzer bei Anmeldung irgendwo rein schreibt.
So hast Du es an einer Stelle.
Ansonsten Remote Verbindung über die Computerverwaltung und ebenfalls die Eventlogs, da siehst Du auch, wer sich zuletzt angemeldet hat.

Gruß aus Berlin
seltsam
seltsam 24.10.2014 um 08:36:39 Uhr
Goto Top
ECHO "%DATE% - %username% - %Computername%" >>\\netzfreigabe\datei.txt
KowaKowalski
KowaKowalski 24.10.2014 um 11:14:57 Uhr
Goto Top
Hallo,


die PC´s inkl. der damit bearbeiteten Daten gehören Deinem Arbeitgeber.
Was also soll da der Bediener (ein weiterer Angestellter Deines Arbeitgebers) entscheiden?

Wenn Dir Dein Arbeitgeber den Auftrag erteilt seine PC zu betreuen spielt es eigentlich keine Rolle was der PC-Bediener dazu sagt.


mfg
kowa
seltsam
seltsam 24.10.2014 um 11:25:40 Uhr
Goto Top
Kommt drauf an, ich wäre da vorsichtig mit einem Zugriff, zum einen stört man die Mitarbeiter, zum anderen muss sicher gestellt sein, dass Daten, die nicht für fremde Augen bestimmt sind, auch nicht ohne weiteres werfügbar werden, daher ist das schon etwas heikel. Das Personalbüro oder der Controller in der Budgetplanung möchte sicher nicht dass einfach so auf seinen Screen geschaltet wird!
Vor allem aber ist eine automatisierte Lösung unauffällig, auch wenn dann wieder mal niemand Dich arbeiten sieht. Aber da ists wie beim Fussball, das Ergebnis zählt.
Bei der Anzahl von Clients ist es weiterhin gut möglich, dass auch ein Betriebsrat oder eine Betriebsvereinbarung dem unbeschränkten Zugriff auf die Clients ohne Vorankündigung im Wege steht.
Übrigens kann man Teamviewer auch Nutzen um zu inventarisieren. Nennt sich IT-Brain, habs mal getestet und es gibt ne Menge her, wieviel Benutzerdaten der Clients dabei raus kommen, weiß ich nicht mehr. Aber man kann es für einen zeitraum kostenfrei testen.
Vielleicht reicht Dir das schon.

Beste Grüße
Seltsam
KowaKowalski
KowaKowalski 24.10.2014 um 12:17:41 Uhr
Goto Top
Hi Seltsam,


Dein Einwand ist natürlich völlig korrekt.
Einerseits die Störung und zweitens ohne Ankündigung aufschalten ist natürlich tabu.

Ich meinte aber grundsätzlich ist es nicht sinnvoll sich die Freigabe (wg Datenschutz) vom Nutzer zu holen.


Aus meiner Sicht ist das in etwa so als wenn der Elektriker Dich fragt ob er beim Nachbarn den Strom abstellen darf.


mfg
kowa
Rudbert
Rudbert 25.10.2014 um 11:04:31 Uhr
Goto Top
Hi,

mal ein Ansatz zu deinem Ursprungsproblem: deinstalliere doch remote über z.B. "psexec". Ich würde mir bei 260 Clients außerdem mal Client-Management-Software oder Softwareverteilung angucken, vereinfacht die "TeamViewer-Administration" erheblich face-smile

mfg
banane31
banane31 27.10.2014 um 06:57:36 Uhr
Goto Top
Moin,

nun ja ein richtiger Ansatz ist jetzt nicht wirklich dabei...

Gesucht ist wirklich nur eine "dumme" Powershellabfrage...sowas muss doch irgendwie relativ leicht realisierbar sein.
Borob14
Borob14 24.11.2014 aktualisiert um 13:43:55 Uhr
Goto Top
Hi,

ich würde die Sache anders lösen:

erstens kleine Batch per Loginscript um die alte Software zu entfernen.
In die Batch vor dem Start ne Abfrage ob es den Installordner noch gibt.
das könnteste noch erweitern, mit nem anschließenden install des neuen Virenscanners, ebenfalls per MSI.


Uninstall LAUT MS:
msiexec.exe /uninstall mp_ambits.msi /qn
msiexec.exe /uninstall momagent.msi /qn
msiexec.exe /uninstall fcsssa.msi /qn

_____________________

grobe ungetestete Batch
@echo off
IF EXIST "C:\VIRENPROGRAMMALT\" (GOTO WEITER) ELSE (GOTO STOPP)

:WEITER
msiexec.exe /uninstall mp_ambits.msi /qn
msiexec.exe /uninstall momagent.msi /qn
msiexec.exe /uninstall fcsssa.msi /qn

:STOPP


Mit freundlichen Grüßen Rob
ChristopherSchramm
ChristopherSchramm 24.04.2023 um 14:52:24 Uhr
Goto Top
Falls irgend jemand nach 9 Jahren immer noch eine einfache Lösung dafür sucht:


$results = New-Object System.Collections.ArrayList

$computers = Get-ADComputer -Filter *


foreach ($computer in $computers) {

    if (Test-Connection $computer.Name -Count 1 -Quiet) {
        $lastLogon = Get-ADComputer $computer.Name -Properties LastLogonTimeStamp | Select-Object -ExpandProperty LastLogonTimeStamp


        $lastLogonDate = [datetime]::FromFileTime($lastLogon)


        $lastUser = (Get-WMIObject Win32_ComputerSystem -ComputerName $computer.Name).UserName

        $results.Add([pscustomobject]@{
            ComputerName = $computer.Name
            LastUser = $lastUser
            LastLogon = $lastLogonDate
        }) | Out-Null
    }
}

$results | Format-Table -AutoSize