Archiv der Kategorie: PowerShell

DHCP Reservierungen exportieren und importieren

Die Reservierung aller Scopes exportieren:

$dhcpserver = "QuellServer.QuellDomain.com"
Get-DhcpServerv4Scope -ComputerName $dhcpserver | Get-DhcpServerv4Reservation -ComputerName $dhcpserver Export-Csv "pathtofile\ScopeReservation.csv" -Encoding UTF8 -Force -NoTypeInformation -Delimiter ";"

Als nächstes importieren wir die Reservierungen (ACHTUNG!: nicht mit Import, sondern mit Add)

$dhcpserver = "ZielServer.ZielDomain.com"
$scopes = Import-Csv -Path "pathtofile\ScopeReservation.csv" -Delimiter ";"
foreach ($scope in $scopes)
{
    $name = $scope.name
    $description = $scope.description
Write-Output "Creating scope  $name"

Add-DhcpServerv4Reservation -ComputerName $dhcpserver -ScopeId $scope.ScopeId -IPAddress $scope.IPAddress -Description $scope.description -Name $scope.name -ClientId $scope.clientid -Type $scope.Type #-WhatIf
}

DHCP Scope Options mit Powershell exportieren und importieren

Alle Scope Optionen exportieren:
Get-DhcpServerv4Scope -ComputerName "QuellServer.QuellDomain.com" | Export "pathtofile\exportScopeOptions.csv" -Delimiter ";"

Da in dieser Tabelle alle Scope Optionen wie Rounter, DNS Server in einer Spalte stehen, habe ich mit einem Excel Filter diese in separate Spalten aufgetrennt und jeweils nach dem ScopeOptionNamen benannt. Zum Beispiel Router;DNSServer usw. .

Import der Scope Optionen:

$dhcpserver = "ZielServer.ZielDomain.com"
$scopes = Import-Csv -Path "pathtofile\exportScopeOptions.csv" -Delimiter ";"
foreach ($scope in $scopes)
{
    $name = $scope.name
    $description = $scope.description
Write-Output "Creating scope  $name"
Set-DhcpServerv4OptionValue -Router $scope.router -DNSServer $scope.DNSServer -ScopeId $scope.scopeid -ComputerName $dhcpserver
}

Wie die DHCP Reservierungen exportiert und importiert werden, zeige ich in einem neuen Blogbeitrag.

Active Direcrory Report Wann wurde zuletzt das Passwort geändert?

Mit Hilfe diesen PowerShell Befehls kann herausgefunden werden, wann die User zuletzt Ihr Passwort geändert haben und ob die Option „Passwort läuft nie ab“ gesetzt wurde:

get-aduser -filter * -properties Name,passwordlastset,passwordneverexpires | Select-Object Name,passwordlastset,passwordneverexpires | Export-Csv C:\Pfad\Last_PW_Set.csv -NoTypeInformation

Postfach Mailregel mit Powershell exportieren

Damit man nicht auf die E-Mails eines Benutzerpostfaches zur Fehlerbeseitigung zugreifen muss, kann man mit Hilfe diesen Befehls die aktuellen Mailregeln der Mailbox(en) exportieren:

$mailboxes = get-mailbox
foreach ($mailbox in $mailboxes) {get-InboxRule -Mailbox $mailbox.UserPrincipalName | export-csv "C:\$mailbox.csv"}

Natürlich kann man auch z.B.
$mailboxes = get-mailbox irgendeinPostfach@meineDomain.de verwenden um nur eine Mailbox abzufragen.

Über diesen Weg ist auch ein Export und Import von Mailregeln möglich.

Bitlocker Key Upload to Active Directory (with TPM)

 $drive = Get-BitLockerVolume | ?{$_.KeyProtector | ?{$_.KeyProtectorType -eq ‚RecoveryPassword‘}} | select -f 1

$key = $drive | select -exp KeyProtector | ?{$_.KeyProtectorType -eq ‚RecoveryPassword‘} | select -f 1

Backup-BitLockerKeyProtector $drive.MountPoint $key.KeyProtectorId

Write-Host „Backing up drive $drive, key $($key.KeyProtectorId), password $($key.RecoveryPassword)“