728x90 AdSpace

Latest News

jueves, 30 de julio de 2015

SCCM 2012 Backup DHCP Server PowerShell script

Uno de mis clientes me ha pedido para crear un script en PowerShell con finalidad de hacer copias de seguridad de las configuraciones de los servidores de DHCP.

SCCM 2012 Backup DHCP Server PowerShell script
SCCM 2012 Backup DHCP Server PowerShell script 


Por defecto los servidores DHCP hace una copia de seguridad en "%WINDIR%windir\System32\dhcp\Backup\" a cada 60 minutos.

Mi idea entonces para lograr eso fue;


  1. Crear Install / Uninstall script (batch file)
    1. copiar archivos necesarios para el servidor (7z.exe, 7z.dll, dhcp_bkp.ps1)
    2. crear tarea programada en el servidor para ejecutar dhcp_bkp.ps1.
  2. Crear script en PowerShell para comprimir y mover el archivo para servidor central.
    1. script comprime los archivos de "%WINDIR%windir\System32\dhcp\Backup\"
    2. crea un archivo ZIP con el nombre del servidor, fecha y hora.
    3. mover archivo ZIP para otro destino (servidor central)
  3. Crear una aplicacion en SCCM y desplegar para los servidores DHCP.
En el resultado final, los siguientes archivos tienen que estar en la carpeta de la aplicacion;
7z.exe, 7z.dll
Install_DHCPBKP_Script.cmd
Uninstall_DHCPBKP_Script.cmd
dhcp_bkp.ps1

Abajo sigue los códigos de los scripts usados para esta tarea;

# ------------ Install_DHCPBKP_Script.cmd ------------------------------------  
REM Copy script files from deployment starting point
MD "%ProgramFiles%\DHCP_Backup_Script"
COPY /Y "%~dp0\dhcp_bkp.ps1" "%ProgramFiles%\DHCP_Backup_Script\dhcp_bkp.ps1"
COPY /Y "%~dp0\7z.exe" "%ProgramFiles%\DHCP_Backup_Script\7z.exe"
COPY /Y "%~dp0\7z.dll" "%ProgramFiles%\DHCP_Backup_Script\7z.dll"

REM Create Scheduled Task (Compatible with Windows 2003!)
schtasks /Create /TN "DHCP Backup" /TR "\"%SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe\" -noprofile -executionpolicy Unrestricted -File \"%ProgramFiles%\DHCP_Backup_Script\dhcp_bkp.ps1\"" /SC weekly /D MON,TUE,WED,THU,FRI /ST 17:00 /F /RU <USERNAME> /RP <PASSWORD>
# ------------ END of Install_DHCPBKP_Script.cmd ------------------------------


# ------------ Uninstall_DHCPBKP_Script.cmd -----------------------------------  
REM Remove script files
RD  /S /Q "%ProgramFiles%\DHCP_Backup_Script"
RD  /S /Q "%ProgramFiles(x86)%\DHCP_Backup_Script"
REM Remove Scheduled Task
schtasks.exe /Delete /TN "DHCP Backup" /F
# ------------ END of Uninstall_DHCPBKP_Script.cmd ----------------------------  


# ----------------------------------------------------------------------------- 
# Script: dhcp_bkp.ps1 
# Version: 1.0
# Author: http://blog.teksoporte.es
# Date: 07/29/2015 09:50:31
# Keywords: dhcp backup powershll script
# Comments: This script will compress DHCP server configuration files and copy
# to the specified folder on another ocmputer.
# ----------------------------------------------------------------------------- 
if (-not (test-path "$env:ProgramFiles\DHCP_Backup_Script\7z.exe")) {throw "$env:ProgramFiles\DHCP_Backup_Script\7z.exe needed"} 
set-alias sz "$env:ProgramFiles\DHCP_Backup_Script\7z.exe"

$filesToBkp = "$env:windir\System32\dhcp\Backup\*"  # Don't change!
$zipDest = "\\<Destination_Servers_Path>\DHCP Backups\"  #Here you specify where you want to save the compressed ZIP file
$zipFilename = "$zipdest $env:computername-$(get-date -f dd-MM-yyyy-HH-mm-ss).zip" # Don't change!
$zipLimit = (Get-Date).AddDays(-1)
sz a -Y -tzip $zipFilename $filesToBkp -SSW

Get-ChildItem $zipDest -Recurse | ? {
  -not $_.PSIsContainer -and $_.CreationTime -lt $zipLimit
} | Remove-Item -Force

# --------------------------END of dhcp_bkp.ps1 --------------------------------- 






  • Blogger Comments
  • Facebook Comments

0 comentarios:

Publicar un comentario

Item Reviewed: SCCM 2012 Backup DHCP Server PowerShell script Description: Rating: 5 Reviewed By:
Scroll to Top