Skip to content

Instantly share code, notes, and snippets.

@gavincampbell
Last active September 2, 2020 08:26
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save gavincampbell/3ad207b86d6c1a386564e07b68eb4cba to your computer and use it in GitHub Desktop.
Save gavincampbell/3ad207b86d6c1a386564e07b68eb4cba to your computer and use it in GitHub Desktop.
Powershell Aides-Mémoire
#Creating a pscredential from a username:password pair in a single line:
$Creds = New-Object System.Management.Automation.PSCredential ($User, $(ConvertTo-SecureString $Password -AsPlainText -Force))
#Self signed wildcard certificate
New-SelfSignedCertificate -Subject *.my.domain -DnsName my.domain, *.my.domain -CertStoreLocation Cert:\LocalMachine\My -NotAfter (Get-Date).AddYears(10)
# trusting the PS gallery so we can install packages unattended, e.g. for DSC
Install-PackageProvider NuGet -Force -Scope CurrentUser
Import-PackageProvider NuGet -Force
Set-PSRepository -Name PSGallery -InstallationPolicy Trusted
#generating Random String
# source: https://devblogs.microsoft.com/scripting/generate-random-letters-with-powershell/
$someRandomLetters = -join ((65..90) + (97..122) | Get-Random -Count 20 | % {[char]$_})
#Generating an ARM-style UniqueString
# source: https://docs.microsoft.com/en-us/archive/blogs/389thoughts/get-uniquestring-generate-unique-id-for-azure-deployments
function Get-UniqueString ([string]$id, $length=13)
{
$hashArray = (new-object System.Security.Cryptography.SHA512Managed).ComputeHash($id.ToCharArray())
-join ($hashArray[1..$length] | ForEach-Object { [char]($_ % 26 + [byte][char]'a') })
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment