• administration
  • migration
  • powershell
  • kontakt
  • EN
info@firstattribute.com
by FirstAttribute
Active Directory FAQ Active Directory FAQ
  • administration
  • migration
  • powershell
  • kontakt
  • EN

PowerShell: Aktive Computerobjekte finden

Mrz 31, 2016 (Letztes Update) | Posted by Jens Künzler | PowerShell |

 

PowerShell: Aktive Computerobjekte finden

Nach einer erfolgreich abgeschlossenen Active Directory Migration kommt früher oder später der Moment, wo es darum geht die alte Domain abzuschalten.

Hier stellt sich die Frage nach noch aktiven Computern in der alten Domain.

Ein kleines PowerShell-Skript hilft dabei noch aktive Computerobjekte finden.

Inhaltsverzeichnis

  • 1 LastLogonTimeStamp
  • 2 DateTime::FromFileTime
  • 3 LDAP-Filter
  • 4 Fazit

LastLogonTimeStamp

Wenn wir aktive Computerobjekte finden wollen, bietet sich das Attribut LastLogonTimeStamp an. Es wird von Computern automatisch aktualisiert, wenn der Wert, welcher im Computer Objekt der Domain gespeichert ist, älter als 9-14 Tage ist. Möchte man den LastLogonTimeStamp jedoch in einem LDAP-Filter verwenden, werden wir etwas Seltsames feststellen. Der Wert gibt an, dass die Anzahl von Nanosekunden seit dem 01.01.1601 mit 100 an. Mit einem kleinen Trick ist es aber dennoch möglich, LastLogonTimeStamp in einem LDAP Filter zu verwenden.

DateTime::FromFileTime

Mit der Methode ::FromFileTime der Klasse [DateTime] lässt sich der LastLogonTimeStamp (Nanosekunden seit dem 01.01.1601 / 100 ) in ein Datumsformat umwandeln.

1
$lastlogon=[datetime]::FromFileTime($comp.lastlogontimestamp)

LDAP-Filter

Damit wir den LastLogonTimeStamp in einem LDAP Filter abfragen können, müssen wir zunächst den abzufragenden Zeitstempel ausrechnen. In diesem Beispiel fragen wir alle Computerobjekte ab, welche sich in den vergangenen 6 Monaten (~182 Tage) angemeldet haben.

1
2
$DaysInactive = 182
$LDAPcheckdate=(Get-Date).Adddays(-($DaysInactive)).ToFileTime()

Mit der Methode “.ToFileTime()” wird das Datum in das gleiche Format umgewandelt, wie es der LastLogonTimeStamp benutzt. Dieser Wert kann nun in einem LDAP Filter verwendet werden. Damit es als Parameter für z.B. Find-LdapObject verwendet werden kann, setze ich den Filter zunächst als Variable $LDAPQuery zusammen.

1
2
$ldapQuery = '(&(objectClass=computer)(lastLogonTimeStamp=' + $LDAPcheckdate + '))'
$ActiveComp=Find-LdapObject -SearchFilter:$ldapquery

Fazit

Der Vorteil dieser Vorgehensweise ist die besonders schnelle Abfrage. In meinem aktuellen Fall befinden sich ca. 16.000 Computerobjekte in der Domain.
Wenn ich alle Computer per LDAP anfrage und danach den LastLogonTimeStamp auswerte, dauert die Abfrage ca. 10 Minuten.
Berechne ich jedoch den LastLogonTimeStamp zuerst und nutze diesen Wert bereits in der LDAP Anfrage, so verringert sich die Laufzeit auf wenige Sekunden.
Der Grund liegt darin, dass nur noch 30 aktive Computer zurückgeliefert werden.
 

weiterführende Artikel:
Schnelle LDAP-Suche mit PowerShell – 3 Varianten
LastLogonTimeStamp vs. msDSLastSuccessfulInteractiveLogonTime


 

FirstAttribute AG

Dieser Artikel entstand bei Projekten der FirstAttribute AG
AD Consulting
| AD Migration

Sie planen Veränderungen an Ihrem AD?
Nehmen Sie Kontakt zu uns auf, wir hören Ihnen gern zu.


Artikel weiterempfehlen:
  • xingen
  • sharen
  • tweeten
  • teilen
  • Google+
  • mailen
Artikel erstellt am: 05.02.2016
Tags: Computer ObjectFromFileTimeLastLogonTimeStampLDAP
1

You also might be interested in

AD DS und AD LDS im Direktvergleich

AD DS und AD LDS im Direktvergleich

Apr 9, 2019

In diesem Artikel werden die Unterschiede zwischen den Verzeichnisdiensten Active[...]

Novell Migration: Kritische Legacy-Applikationen mit OpenLDAP-Proxy umstellen

Novell Migration: Kritische Legacy-Applikationen mit OpenLDAP-Proxy umstellen

Okt 27, 2015

In diesem Artikel möchte ich den LDAP-Proxy als Möglichkeit zur[...]

LDAP Queries in der [Active Directory Users and Computers] Console

Okt 6, 2011

Der Artikel “Sicherheitslücke : Leeres Passwort im Active Directory trotz[...]

Leave a Reply

Danke für Ihre Anregungen, Fragen und Hinweise.
Infos zum Datenschutz

Cancel Reply

Neueste Artikel

  • Mailversand über O365 automatisieren
  • AD LDS Installation und Backup mit Powershell
  • E-Mail-Adresse mit PowerShell prüfen
  • Quest Resource Update Manager Agent richtig verbinden
  • AD Telefonnummern automatisch korrigieren
  • Windows Server 2019 Übersicht
  • Native Linux-Bash unter Windows
  • AD DS und AD LDS im Direktvergleich
  • Powershell 6 & .NET-Core – Die Zukunft?
  • Seltene AD Attribute mit PowerShell setzen

Links

  • FirstAttribute – AD Consulting
  • FirstAttribute – Migrationen
  • FirstAttribute – Software
  • FirstAttribute – Tech Blog
  • Jobs bei FirstAttribute

Kategorien

  • Administration
  • Citrix
  • Cloud
  • Exchange
  • KnowHow
  • Konfiguration
  • Migration
  • PowerShell
  • Programmierung
  • Quest Migration Manager
  • SharePoint
  • Tools

AD Gruppen dynamisch machen

Schlagwörter

.Net ACL Active Directory AD LDS AD Objekt Berechtigung Berechtigungen Cloud cmdlets Delegation Domain Controller dynamicgroup dynamische Gruppen Exchange Exchange 2016 Exchange Migration Federation FirstWare Global Catalog Group Policy Gruppen Gruppenmitgliedschaft IDM-Portal LDAP lokale Gruppen Microsoft Azure Migration New-ADUser Novell NTFS O365 Office 365 PowerShell QMM QMM AD QMM Exchange Quest Migration Manager Schema Set-ADUser SID SID History Update Windows Windows 10 Windows Server 2012 R2

Kontakt aufnehmen

Sie haben eine Frage oder Anmerkung? Schicken Sie uns schnell eine Nachricht.

Nachricht senden
Ohne nachdenken. Active Directory ganz anders. FirstWare IDM-Portal

Folgen Sie uns

Kontakt

  • FirstAttribute AG
  • Am Büchele 18, 86928 Hofstetten, Germany
  • +49 89 215 442 400
  • www.firstattribute.com

Schlagwörter

.Net ACL Active Directory AD LDS AD Objekt Berechtigung Berechtigungen Cloud cmdlets Delegation Domain Controller dynamicgroup dynamische Gruppen Exchange Exchange 2016 Exchange Migration Federation FirstWare Global Catalog Group Policy Gruppen Gruppenmitgliedschaft IDM-Portal LDAP lokale Gruppen Microsoft Azure Migration New-ADUser Novell NTFS O365 Office 365 PowerShell QMM QMM AD QMM Exchange Quest Migration Manager Schema Set-ADUser SID SID History Update Windows Windows 10 Windows Server 2012 R2

Neueste Kommentare

  • Paul bei Powershell – Home Directory anlegen und Berechtigungen vergeben
  • Steve König bei AD PowerShell Basics 1: New-ADUser
  • Dennis bei AD PowerShell Basics 1: New-ADUser
Login

© 2019 · Active-Directory-FAQ by firstattribute.com

Prev Next