Printserver PowerShell Backup Skript

Zur Sicherung und Migration von Windows “Printservern” eignet sich das Kommandozeilen-Tool Printbrm.exe. Eine Störung am Printserver stellt meistens ein kritisches Problem dar, als Alternative zur einem vollständigen Desaster-Recovery des Servers, kann ein Import einer vorhanden Backup-Datei von “Printbrm” eine schnelle Methode zur Entstörung darstellen. Für einen automatischen Export der gesamten Drucker-Konfiguration habe ich ein PowerShell Skript geschrieben, welches eine automatische Bereinigung der Backups und Log-Dateien beinhaltet.

<#
PowerShell Printserver Backup Skript
Ersteller: kohn.blog, Philipp Kohn
Datum: 19.12.17
#>
# Erstelle neue Eventlog Quelle
New-EventLog -LogName System -Source "kohn.blog"

# Erstelle Eventlog Eintrag
Write-EventLog -LogName System -Source "kohn.blog" -EntryType Information -EventId 1 -Message "Geplanter Task: - kohn.blog Printserver Export -  gestartet, PKohn_printserver_backup_script"

# Exportiere Drucker nach C:\printserverexport\backupfiles und protokolliere in C:\printserverexport\logs
c:\windows\system32\spool\tools\PrintBrm.exe -B -F C:\printserverexport\backupfiles\${env:computername}_$(get-date -f dd-MM-yyyy-hhmm).printerexport | out-file -filepath C:\printserverexport\logs\${env:computername}_$(get-date -f dd-MM-yyyy-hhmm).log

# Erstelle Eventlog Eintrag
Write-EventLog -LogName System -Source "kohn.blog" -EntryType Information -EventId 1 -Message "Verzeichnis C:\printserverexport\backupfiles\ aufgeräumt, alte Backups entfernt, es werden nur die aktuellsten 5 Backups aufgehoben, PKohn_printserver_backup_script"

# Lösche alte Backupfiles
get-childitem C:\printserverexport\backupfiles\ -Recurse| where{-not $_.PsIsContainer} | sort CreationTime -desc | select -Skip 5 | Remove-Item -Force

# Erstelle Eventlog Eintrag
Write-EventLog -LogName System -Source "kohn.blog" -EntryType Information -EventId 1 -Message "Verzeichnis C:\Printserverexport\logs\ aufgeräumt, alte Backup-Logs entfernt, es werden nur die aktuellsten 5 Backup-Logs aufgehoben, PKohn_printserver_backup_script"

# Lösche alte Backuplogs
get-childitem C:\printserverexport\logs\ -Recurse| where{-not $_.PsIsContainer} | sort CreationTime -desc | select -Skip 5 | Remove-Item -Force

 

Philipp Kohn

Consultant for Modern Workplace & Cloud Computing. Especially interested in Microsoft 365 & Digital Transformation. - If you are afraid you cannot innovate! -

Leave a Reply

Your email address will not be published. Required fields are marked *

I accept that my given data and my IP address is sent to a server in the USA only for the purpose of spam prevention through the Akismet program.More information on Akismet and GDPR.

This site uses Akismet to reduce spam. Learn how your comment data is processed.