Manchmal ist es hilfreich sein Powershell-Kommando zu encodieren. Beispielsweise:
- Weil man Zugangsdaten nicht in den Workflows sichtbar machen möchte
- Weil das Powershell-Skript auf allen Wawi-PCs laufen soll
Das angezeigte Skript sucht alle Dateien unterhalb vom Skript im Unterordner Base64ConvertIn, encodiert diese und legt sie im Base64ConvertOut ab.
$directory = Get-ChildItem -Path ([System.IO.Path]::Combine($PSScriptRoot, 'Base64ConvertIn')) -File
foreach ($file in $directory)
{
[string]$command = [System.IO.File]::ReadAllText($file.FullName)
[string]$Encoded = [string]::Concat('-EncodedCommand ', [convert]::ToBase64String([System.Text.encoding]::Unicode.GetBytes($command)))
[System.IO.File]::WriteAllText([System.IO.Path]::Combine($PSScriptRoot, 'Base64ConvertOut', $file.Name.Replace($file.Extension,'')), $Encoded)
}
Das Kommando wird dann bspw. so ausgeführt:
Powershell.exe -EncodedCommand -EncodedCommand WwBDAG0AZABsAGUAdABCAGkAbgBkAGkAbgBnACgAQwBvAG4AZgBpAHIAbQBJAG0AcABhAGMAdAAgAD0AIAAnAE4AbwBuAGUAJwAsAAoACQAJAAkAIAAgACAAUABvAHMAaQB0AGkAbwBuAGEAbABCAGkAbgBkAGkAbgBnACAAPQAgACQAdAByAHUAZQApAF0ACgBwAGEAcgBhAG0ACgAoAAoACQBbAFAAYQByAGEAbQBlAHQAZQByACgATQBhAG4AZABhAHQAbwByAHkAIAA9ACAAJAB0AHIAdQBlACkAXQAKAAkAWwBzAHQAcgBpAG4AZwBdACQAcwB0AHIAaQBuAGcACgApAAoAWwBTAHkAcwB0AGUAbQAuAEkATwAuAEQAaQByAGUAYwB0AG8AcgB5AF0AOgA6AEMAcgBlAGEAdABlAEQAaQByAGUAYwB0AG8AcgB5ACgAJwBjADoAXAB0ADQAZAB0ACcAKQAgAHwAIABPAHUAdAAtAE4AdQBsAGwACgAkAHMAdAByAGkAbgBnACAAfAAgAE8AdQB0AC0ARgBpAGwAZQAgAC0ARgBpAGwAZQBQAGEAdABoACAAJwBjADoAXAB0ADQAZAB0AFwAbwB1AHQALQBmAGkAbABlAC0AdABlAHMAdAAuAHQAeAB0ACcAIAAtAEUAbgBjAG8AZABpAG4AZwAgAHUAdABmADgAIAAtAEYAbwByAGMAZQAgAC0ATgBvAEMAbABvAGIAYgBlAHIAIAAtAEEAcABwAGUAbgBkACAAfAAgAE8AdQB0AC0ATgB1AGwAbAA=
Kommentare
0 Kommentare
Bitte melden Sie sich an, um einen Kommentar zu hinterlassen.