Blog
Hier poste ich dinge zu Themen die mich beschäftigten.
2023-04-15
# Variablen
$OutputFile = “C:InfrastructureReport.csv”
# CSV-Header erstellen
$CSVHeader = “ServerName,IP,MAC,Description,Status,Path”
Add-Content -Path $OutputFile -Value $CSVHeader
# Funktion zum Abrufen von Computerinformationen
function Get-ComputerInfo {
param ($Computers, $Type)
foreach ($Computer in $Computers) {
try {
$ComputerName = $Computer.Name
$IPAddress = (Resolve-DnsName $ComputerName).IPAddress
$MACAddress = (Get-WmiObject -Class Win32_NetworkAdapterConfiguration -ComputerName $ComputerName -Filter “IPEnabled=True”).MACAddress
$Description = $Type
$Status = if ($Computer.Enabled) { “Enabled” } else { “Disabled” }
$Path = $Computer.DistinguishedName
# Ergebnisse in CSV-Datei schreiben
$CSVData = “$ComputerName,$IPAddress,$MACAddress,$Description,$Status,$Path”
Add-Content -Path $OutputFile -Value $CSVData
} catch {
Write-Host “Fehler bei der Verarbeitung von $ComputerName: $($_.Exception.Message)” -ForegroundColor Red
}
}
}
# Domain-Controller
$DomainControllers = Get-ADDomainController -Filter *
Get-ComputerInfo -Computers $DomainControllers -Type “Domain Controller”
# Anwendungsserver, Switches und Mailserver können nicht direkt über AD-Cmdlets identifiziert werden.
# Sie müssen eine Liste von Gruppen, Namen oder Beschreibungen definieren, um sie zu identifizieren.
# Anwendungsserver (angepasst an Ihre Umgebung)
$AppServers = Get-ADComputer -Filter { Description -like “*App Server*” } # Anwendungsserver nach Beschreibung suchen
Get-ComputerInfo -Computers $AppServers -Type “Application Server”
# Switches (angepasst an Ihre Umgebung)
$Switches = Get-ADComputer -Filter { Description -like “*Switch*” } # Switches nach Beschreibung suchen
Get-ComputerInfo -Computers $Switches -Type “Switch”
# Mailserver (angepasst an Ihre Umgebung)
$MailServers = Get-ADComputer -Filter { Description -like “*Mail Server*” } # Mailserver nach Beschreibung suchen
Get-ComputerInfo -Computers $MailServers -Type “Mail Server”
Das Skript erstellt eine CSV-Datei, die Servername, IP, MAC, Beschreibung, Status und Pfad enthält. Passen Sie die Filterkriterien für Anwendungsserver, Switches und Mailserver gemäß Ihrer Umgebung an. In vielen Fällen werden diese Geräte möglicherweise nicht direkt im Active Directory identifiziert. Wenn dies der Fall ist, müssen Sie möglicherweise alternative Methoden verwenden, um diese Geräte in Ihrer Umgebung zu finden.
Admin - 11:00:26 @ Projekte, Powershell-Skripte | Kommentar hinzufügen
Die an dieser Stelle vorgesehenen Inhalte können aufgrund Ihrer aktuellen Cookie-Einstellungen nicht angezeigt werden.
Diese Webseite bietet möglicherweise Inhalte oder Funktionalitäten an, die von Drittanbietern eigenverantwortlich zur Verfügung gestellt werden. Diese Drittanbieter können eigene Cookies setzen, z.B. um die Nutzeraktivität zu verfolgen oder ihre Angebote zu personalisieren und zu optimieren.
Diese Webseite verwendet Cookies, um Besuchern ein optimales Nutzererlebnis zu bieten. Bestimmte Inhalte von Drittanbietern werden nur angezeigt, wenn die entsprechende Option aktiviert ist. Die Datenverarbeitung kann dann auch in einem Drittland erfolgen. Weitere Informationen hierzu in der Datenschutzerklärung.