This is my example blog post content.
Invoke-Sqlcmd
-ServerInstance .
-Encrypt Optional
-Query "select name from sys.databases where name not in ('tempdb', 'msdb', 'model','master','admin')"
And further? Secure string!
function Get-RandomString {
param (
[CmdletBinding(PositionalBinding=$false)]
[Parameter(Position=0)]
[ValidateRange(8, 256)]
[int] $Length = 20,
[Parameter(Position=1)]
[validateset("AlphaNumeric", "SQLCompliant")]
[string]$Compliancy
)
$Characters = [char]65..[char]90 # A..Z
$Characters += [char]97..[char]122 # a..z
$Characters += [char]48..[char]57 # 0..9
Switch ($Compliancy){
"AlphaNumeric" {
}
"SQLCompliant" {
$Characters += [char]33 #!
$Characters += [char]35..[char]37 # #$%
}
default {
$Characters += [char]33..[char]47 # !"#&%'()*+,-./
}
}
$Password = @()
For ($i = 0; $i -lt $Length; $i++) {
$Password += $Characters | Get-Random
}
return -join $Password
}