windows - PowerShell EncodedCommand mangler

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg forsøger at pope op en simpel meddelelsesboks ved hjælp af Powershell 's -EncodedCommand-flag, men det fortsætter med at fejle. Jeg har prøvet Googling i de sidste par timer, men kan ikke synes at få det til at fungere. Det ligner næsten en kodningsfejl, men jeg bruger regelmæssig UTF-8 med standard ASCII-bagudkompatible tegn.


Kommandoen, der holder fejl:


Powershell.exe -EncodedCommand QWRkLVR5cGUgLUFzc2VtYmx5TmFtZSBQcmVzZW50YXRpb25Db3JlLFByZXNlbnRhdGlvbkZyYW1ld29yaztbU3lzdGVtLldpbmRvd3MuTWVzc2FnZUJveF06OlNob3coJ3dvcmtpbmcnKTs=


Kommandoen b64 dekodet er:


Add-Type -AssemblyName PresentationCore,PresentationFramework;[System.Windows.MessageBox]::Show('working');


Hvad mangler jeg? Tak for at hjælpe med min noob spørgsmål

Bedste reference


Den Base64-kodede streng, der er overført til -EncodedCommand, skal kode for byte-repræsentationen af ​​en UTF-16LE ('Unicode') streng - UTF-8 er ikke understøttet:


$cmd = 'Add-Type -AssemblyName PresentationCore,PresentationFramework;[System.Windows.MessageBox]::Show(''working'')'
$encodedCmd = [Convert]::ToBase64String([System.Text.Encoding]::Unicode.GetBytes($cmd))

powershell.exe -EncodedCommand $encodedCmd