Skip to content

Latest commit

 

History

History
61 lines (47 loc) · 1.39 KB

powershell-goodies.md

File metadata and controls

61 lines (47 loc) · 1.39 KB

minimal requirement to enable powershell execution

powershell -NoLogo -NoProfile -ExecutionPolicy Bypass -Command "code"
powershell -NoLogo -NoProfile -ExecutionPolicy Bypass -File filename

proxy settings

$url  = ...;
$file = ...;

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12;
$w = New-Object System.Net.WebClient;
$w.Proxy.Credentials = [System.Net.CredentialCache]::DefaultNetworkCredentials;
$w.DownloadFile($url, $file)

convert string to byte array

$bytes = [System.Text.Encoding]::UTF8.GetBytes($string) 

convert byte array to string

$string = [System.Text.Encoding]::UTF8.GetString($bytes) 

base64 encoding

$filename = ...
$string = Get-Content $filename -Raw -Encoding utf8
$bytes = [System.Text.Encoding]::UTF8.GetBytes($string)
$base64 = [System.Convert]::ToBase64String($bytes
#, [Base64FormattingOptions]::InsertLineBreaks	# to insert a line break every 76 characters
#, [Base64FormattingOptions]::None		# to not insert line breaks
)

base64 decoding

$filename = ...
$base64 = Get-Content $filename -Raw
$bytes = [System.Convert]::FromBase64String($base64)
$string = [System.Text.Encoding]::UTF8.GetString($bytes) 

stdin to stdout

$i = [Console]::OpenStandardInput();
$o = [Console]::OpenStandardOutput();
$i.CopyTo($o);
$i.Close();
$o.Close();