function GetUDVariables(){
(get-variable | where-object {(@("declarations","GetUDVariables","Other","FormatEnumerationLimit","MaximumAliasCount","MaximumDriveCount","MaximumErrorCount","MaximumFunctionCount","MaximumVariableCount","PGHome","PGSE","PGUICulture","PGVersionTable","PROFILE","PSSessionOption") -notcontains $_.name) -and(([psobject].Assembly.GetType('System.Management.Automation.SpecialVariables').GetFields('NonPublic,Static') | Where-Object FieldType -eq ([string]) | ForEach-Object GetValue $null)) -notcontains $_.name}) | ForEach-Object {
    Write-Output "Name: " 
	$_.Name
	"-------"
    "Value: "
	$_.Value 
    "--------------------------------------------------"  
}
}