Skip to content

Instantly share code, notes, and snippets.

@AndySchneiderDev-zz
Last active August 29, 2015 14:22
Show Gist options
  • Save AndySchneiderDev-zz/e544c2ae75d97da3bace to your computer and use it in GitHub Desktop.
Save AndySchneiderDev-zz/e544c2ae75d97da3bace to your computer and use it in GitHub Desktop.
PowerShell Session State Demonstration
function Show-SessionStateDemo
{
[CmdletBinding()]
param (
[Parameter()]
$Server,
[Parameter()]
$Database,
[Parameter()]
$Query
)
begin {
$privateServerVariable = '_privServer'
if($Server) {
$PSCmdlet.SessionState.PSVariable.Set($privateServerVariable,$Server)
}
else {
try {
$Server = $PSCmdlet.SessionState.PSVariable.GetValue($privateServerVariable).ToString()
}
Catch {Throw 'The parameter "Server" is required'}
}
}
process {
[psobject]@{
'Database' = $Database
'Server' = $Server
'Query' = $Query
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment