Monthly Archives: September 2012

PowerShell: Set-Content mit Binärwerten

Ich stoße in PowerShell-Scripts immer wieder auf folgenden Befehl:

[System.IO.File]::WriteAllBytes(<pfad>, <wert>)

Nichts dass daran irgendetwas falsch wäre, es gibt jedoch eine PowerShell-freundlichere Möglichkeit Binärwerte in eine Datei zu schreiben, und zwar mit folgendem Befehl:

Set-Content -Path ... -Value ... -Encoding Byte

Dies hat den Vorteil, dass der Pfad richtig aufgelöst wird und man kann dadurch den Binärwert über die PowerShell Pipeline übergeben.

Beispiel aus der Praxis: Das Auslesen des Profilbildes eines ActiveDirectory-Benutzers und anschließendem Speichern als Datei

Import-Module ActiveDirectory
(Get-ADUser TBurger -Property thumbnailPhoto).thumbnailPhoto | Set-Content TBurger.jpg -Encoding Byte