In manchen SCCM Migrationen kann es sowohl sinnvoll als auch erforderlich sein die Quellpfade von Paketen anzupassen. Bei einigen wenigen Paketen kann diese Aufgabe über die SCCM Konsole erledigt werden. Was ist aber wenn alle Quelldaten auf einen anderen Fileserver und dort auf ein neues Share umgezogen wurden? Wie macht man so etwas bei vielen hundert Paketen am besten?
Aufgrund der genialen PowerShell-Integration in SCCM 2012 SP1, nehmen wir doch diese! Gesagt, getan! Skript geschrieben! Da die Skript-Kommentare das Skript erklären, werde ich auf Redundanzen verzichten und an dieser Stelle nichts weiter erklären. 😉
############################################## #Author: E. Kleefeldt #Date: 27.05.2013 #Titel: MovePackageFileSourceLocation #Description: Move Packages Source Location from $Src to $Dest #Version History: #27.05.2013 V 1.0 Created ############################################## write-host "Script muss mit PowerShell x86 ausgefuehrt werden!" -foreground yellow write-host "Die ExecutionPolicy muss auf unrestricted gesetzt sein." -foreground yellow write-host "Im Vorfeld müssen die Pfade in den Variablen definiert werden." -foreground yellow write-host "Die Ausführung wird jetzt beginnen." -foreground green #Grundlegender Input $sitecode='EKL:' #Don't forget the colon! $cmmodule='C:\Program Files (x86)\Microsoft Configuration Manager\AdminConsole\bin\ConfigurationManager.psd1' #Import CM2012-Module Import-Module $cmmodule Set-Location $sitecode #Quell/Zielpfad $src='\\ws08fs01\packages$' $des='\\ws12fs01\SourceFiles$' write-host "Package Name holen." -foreground yellow # AUSGABE PFAD NEU (Preview des Ergebnisses) Get-CMPackage | ForEach-Object {write $_.PkgSourcePath.replace($src,$des)} # ANPASSUNG DER PFADE # Auskommentieren, wenn Preview erfolgreich # Get-CMPackage | ForEach-Object {Set-CMPackage -Name $_.Name -path $_.PkgSourcePath.replace($src,$des)} write-host "Package Location Change abgeschlossen." -foreground Yellow write-host "Ergebnis prüfen." -foreground Yellow
Mit etwas Kreativität kann das Skript angepasst werden, damit die Quellpfade von Deployment Types ebenso angepassst werden.