Active Directory User Status anzeigen
Mit PowerShell Scripts behelfen sich Admins bei der Verwaltung und Wartung, oft werden Informationen über die gerade authentifizierte Verbindung benötigt, wie die SID des Benutzers oder der DN (Distinguished Name) beispielsweise für die LDAP (Lightweight Directory Access) Konfiguration.
WinStat.ps1 erzeugt die Ausgabe für die Attribute:
- Windows Version Build Number
- Benutzer Login Status
- Distinguished Name
- Benutzer Prinzipal und SID
- Computer Name
- AD Domain Name
- Benutzerprofil Roaming Pfad
- Benutzerprofil Lokaler Pfad
- Anmelde Server
- IP und MAC Adresse
$windows = [PSCustomObject]@{
Caption = (Get-WmiObject -Class Win32_OperatingSystem).Caption
Version = [Environment]::OSVersion.Version
User = [Environment]::UserName
Domain = [Environment]::UserDomainName
Machine = [Environment]::MachineName
}
Write-Host ""
$winver = "{0} ({1})" -f $windows.Caption, $windows.Version
$winver
try {
(Get-ADUser $env:USERNAME)
}
catch {
Write-Warning "User could not be found because Active Directory does not exist."
}
$user = "Logged On $(get-date) as $((Get-Item env:\username).Value) on computer $((Get-Item env:\Computername).Value)"
$user
Write-Host "
User : $env:USERNAME
SID : $env:USERSID
Home path : $env:HOMEPATH
Computer : $env:COMPUTERNAME
AD Domain : $env:USERDOMAIN
Roamingprofile : $env:USERDOMAIN_ROAMINGPROFILE
Userprofile : $env:USERPROFILE
LogonServer : $env:LOGONSERVER
"
(Get-WmiObject win32_networkadapterconfiguration -filter "ipenabled = 'True'" -ComputerName $windows.Machine | Select PSComputername,
@{Name = "IPAddress";Expression = {
[regex]$ipv4 = "(\d{1,3}(\.?)){4}"
$ipv4.matches($_.IPAddress).Value}},MACAddress)
$ipv4
Aufruf in der PowerShell aus dem Ordner Downloads:
powershell.exe -command "& ""%USERPROFILE%\Downloads\WinStat.ps1"""
Release Update und Bugfix auf Github