PowerShell: DB-Backup aus Install-DVD herauskopieren
Verfasst: 18. Februar 2015 01:51
Mit dieser PowerShell-Funktion kann man das tief verschachtelte Datenbankbackup auf der Install-DVD ohne viele Klicks "ausgraben" und in den gleichen Pfad, in dem der Install-Ordner liegt, kopieren.
Dazu den DVD-Ordner im Explorer mit der rechten Maustaste bei gedrückter Umschalttaste anklicken, dann im Kontextmenü "Als Pfad kopieren" auswählen.
Im PowerShell ISE die Funktion aufrufen und den Pfad als Parameter über die Zwischenablage einfügen. Das Backup erscheint dann kurze Zeit später nach Abschluss des Kopiervorgangs.
Die Beispielfunktion ist für NAV 2015, für andere Versionen den Backup-Pfad anpassen.
Damit die Funktion schnell griffbereit ist, noch mit einem kurzen Alias versehen und alles in der Profildatei hinterlegen.
Wenn die Datei nicht kopiert, sondern verschoben werden soll, einfach Move-Item statt Copy-Item verwenden.
Für NAV 2013 R2
Für NAV 2013
Für NAV 2009
Beispiele für das Zuweisen der Aliase in der Profildatei
Dazu den DVD-Ordner im Explorer mit der rechten Maustaste bei gedrückter Umschalttaste anklicken, dann im Kontextmenü "Als Pfad kopieren" auswählen.
Im PowerShell ISE die Funktion aufrufen und den Pfad als Parameter über die Zwischenablage einfügen. Das Backup erscheint dann kurze Zeit später nach Abschluss des Kopiervorgangs.
Die Beispielfunktion ist für NAV 2015, für andere Versionen den Backup-Pfad anpassen.
Damit die Funktion schnell griffbereit ist, noch mit einem kurzen Alias versehen und alles in der Profildatei hinterlegen.
- Code:
function DigUpDatabase80Backup
{
$BasicPath = resolve-path $args
$TargetPath = (get-item $args).parent.FullName
$BackupPath = '\SQLDemoDatabase\CommonAppData\Microsoft\Microsoft Dynamics NAV\80\Database\Demo Database NAV (8-0).bak'
$Fullpath = [string]::Concat($BasicPath,$BackupPath)
Copy-Item -path $FullPath -Destination $TargetPath
Write-Host "Backup file copied to $TargetPath"
}
Wenn die Datei nicht kopiert, sondern verschoben werden soll, einfach Move-Item statt Copy-Item verwenden.
Für NAV 2013 R2
- Code:
function DigUpDatabase71Backup
{
$BasicPath = resolve-path $args
$TargetPath = (get-item $args).parent.FullName
$BackupPath = '\SQLDemoDatabase\CommonAppData\Microsoft\Microsoft Dynamics NAV\71\Database\Demo Database NAV (7-1).bak'
$Fullpath = [string]::Concat($BasicPath,$BackupPath)
Copy-Item -path $FullPath -Destination $TargetPath
Write-Host "Backup file copied to $TargetPath"
}
Für NAV 2013
- Code:
function DigUpDatabase70Backup
{
$BasicPath = resolve-path $args
$TargetPath = (get-item $args).parent.FullName
$BackupPath = '\SQLDemoDatabase\CommonAppData\Microsoft\Microsoft Dynamics NAV\70\Database\Demo Database NAV (7-0).bak'
$Fullpath = [string]::Concat($BasicPath,$BackupPath)
Copy-Item -path $FullPath -Destination $TargetPath
Write-Host "Backup file copied to $TargetPath"
}
Für NAV 2009
- Code:
function DigUpDatabase60Backup
{
$BasicPath = resolve-path $args
$TargetPath = (get-item $args).parent.FullName
$BackupPath = '\SQLDemoDatabase\CommonAppData\Microsoft\Microsoft Dynamics NAV\60\Database\Demo Database NAV (6-0).bak'
$Fullpath = [string]::Concat($BasicPath,$BackupPath)
Copy-Item -path $FullPath -Destination $TargetPath
Write-Host "Backup file copied to $TargetPath"
}
Beispiele für das Zuweisen der Aliase in der Profildatei
- Code:
Set-Alias du80db DigUpDatabase80Backup
Set-Alias du71db DigUpDatabase71Backup
Set-Alias du70db DigUpDatabase70Backup
Set-Alias du60db DigUpDatabase60Backup