Donnerstag, 28. Februar 2013

Mit PowerShell Ordner in der Masse umbenennen

Heute hatte ich wieder eine kleine Herausforderung im DSM Umfeld. Wegen einem Konfigurationsfehler in der Distribution wollte der zentrale Dienst alle Projekte im Master Repository löschen. DSM löscht ja dann nicht sofort die Verzeichnisse sondern benennt dieses erst einmal um. Dieses Sicherheitsfeature hat in unserem Fall gut getan. Allerdings hatte ich dann 180 Ordner die in etwas so hießen "todelete.0876-3456.1223". "1223" ist hierbei der ursprüngliche Ordnername.

Das unten stehende PowerShell Script nimmt dann alle Ordner die mit todelete anfangen und schneidet alles vor dem zweiten Punkt ab. Somit wurde jeder Ordner wiederhergestellt. Dabei muss der PowerShell Pfad/Fokus auf das Paketverzeichnis zeigen, also \Work\Master\Projects.

###################################################################
# Rename all Folder
# from todelete.0873-4567.8347 to 8347
###################################################################


$folder = Get-ChildItem -Filter todelete* | Split-Path -Leaf
foreach($name in $folder)
    {
    $newname = $name.Split('.')[2]
    Rename-Item $name $newname #-WhatIf
    }

 
Mit diesem Script werden die Ordner in wenigen Milisekunden umbenannt. Danach den Distributionsdienst neu gestartet und schon war alles wieder Funktionsfähig.


Donnerstag, 14. Februar 2013

DISM Zugriffsfehler Error 0x80070005



Gerade wieder über einen Fehler gestolpert bei der Integration der Sprachpakete in die Windows 8 Sourcen (siehe Anleitung von Microsoft).

Beim Ausführen von DISM mit Add-Package erhielt ich folgende Fehlermeldung:
An error occurred - Microsoft-Windows-Client-LanguagePack-Package Error: 0x80070005

Error: 5


Access is denied.
 
Da ich alle Verzeichnisse vorher kontrolliert hatte und auch die Command Box als Administrator geöffnet hatte konnte das kein Zugriffsproblem sein. Auch das dism.log das im Verzeichnis %windir%\Logs\DISM liegt brachte keine Hilfe. Also gleich den Test ohne Virenscanner ausgeführt. Und schon hat es funktioniert.