Improved the scripts

This commit is contained in:
Markus Fleschutz 2021-01-28 07:54:49 +01:00
parent 3fbf0b9891
commit f350629396
2 changed files with 61 additions and 56 deletions

View File

@ -6,59 +6,64 @@
.NOTES Author: Markus Fleschutz / License: CC0
#>
function AddItem { param([string]$Variable, [string]$Content)
New-Object PSObject -Property @{ 'Variable' = "$Variable"; 'Content' = "$Content" }
}
function ListAutomaticVariables {
AddItem "`$args" "$args"
AddItem "`$ConsoleFileName" "$ConsoleFileName"
AddItem "`$Error[0]" "$($Error[0])"
AddItem "`$Event" "$Event"
AddItem "`$EventArgs" "$EventArgs"
AddItem "`$EventSubscriber" "$EventSubscriber"
AddItem "`$ExecutionContext" "$ExecutionContext"
AddItem "`$false" "$false"
AddItem "`$foreach" "$foreach"
AddItem "`$HOME" "$HOME"
AddItem "`$input" "$input"
AddItem "`$IsCoreCLR" "$IsCoreCLR"
AddItem "`$IsLinux" "$IsLinux"
AddItem "`$IsMacOS" "$IsMacOS"
AddItem "`$IsWindows" "$IsWindows"
AddItem "`$LastExitCode" "$LastExitCode"
AddItem "`$Matches" "$Matches"
AddItem "`$MyInvocation.PSScriptRoot" "$($MyInvocation.PSScriptRoot)"
AddItem "`$MyInvocation.PSCommandPath" "$($MyInvocation.PSCommandPath)"
AddItem "`$NestedPromptLevel" "$NestedPromptLevel"
AddItem "`$null" "$null"
AddItem "`$PID" "$PID"
AddItem "`$PROFILE" "$PROFILE"
AddItem "`$PSBoundParameters" "$PSBoundParameters"
AddItem "`$PSCmdlet" "$PSCmdlet"
AddItem "`$PSCommandPath" "$PSCommandPath"
AddItem "`$PSCulture" "$PSCulture"
AddItem "`$PSDebugContext" "$PSDebugContext"
AddItem "`$PSHOME" "$PSHOME"
AddItem "`$PSItem" "$PSItem"
AddItem "`$PSScriptRoot" "$PSScriptRoot"
AddItem "`$PSSenderInfo" "$PSSenderInfo"
AddItem "`$PSUICulture" "$PSUICulture"
AddItem "`$PSVersionTable.PSVersion" "$($PSVersionTable.PSVersion)"
AddItem "`$PSVersionTable.PSEdition" "$($PSVersionTable.PSEdition)"
AddItem "`$PSVersionTable.GitCommitId" "$($PSVersionTable.GitCommitId)"
AddItem "`$PSVersionTable.OS" "$($PSVersionTable.OS)"
AddItem "`$PSVersionTable.Platform" "$($PSVersionTable.Platform)"
AddItem "`$PSVersionTable.PSCompatibleVersions" "$($PSVersionTable.PSCompatibleVersions)"
AddItem "`$PSVersionTable.PSRemotingProtocolVersion" "$($PSVersionTable.PSRemotingProtocolVersion)"
AddItem "`$PSVersionTable.SerializationVersion" "$($PSVersionTable.SerializationVersion)"
AddItem "`$PSVersionTable.WSManStackVersion" "$($PSVersionTable.WSManStackVersion)"
AddItem "`$PWD" "$PWD"
AddItem "`$Sender" "$Sender"
AddItem "`$ShellId" "$ShellId"
AddItem "`$StackTrace" "$StackTrace"
AddItem "`$switch" "$switch"
AddItem "`$this" "$this"
AddItem "`$true" "$true"
}
try {
write-output ""
write-output "PowerShell Automatic Variables"
write-output "=============================="
write-output "`$args = $args"
write-output "`$ConsoleFileName = $ConsoleFileName"
write-output "`$Error[0] = $($Error[0])"
write-output "`$Event = $Event"
write-output "`$EventArgs = $EventArgs"
write-output "`$EventSubscriber = $EventSubscriber"
write-output "`$ExecutionContext= $ExecutionContext"
write-output "`$false = $false"
write-output "`$foreach = $foreach"
write-output "`$HOME = $HOME"
write-output "`$input = $input"
write-output "`$IsCoreCLR = $IsCoreCLR"
write-output "`$IsLinux = $IsLinux"
write-output "`$IsMacOS = $IsMacOS"
write-output "`$IsWindows = $IsWindows"
write-output "`$LastExitCode = $LastExitCode"
write-output "`$Matches = $Matches"
write-output "`$MyInvocation.PSScriptRoot = $($MyInvocation.PSScriptRoot)"
write-output "`$MyInvocation.PSCommandPath = $($MyInvocation.PSCommandPath)"
write-output "`$NestedPromptLevel = $NestedPromptLevel"
write-output "`$null = $null"
write-output "`$PID = $PID"
write-output "`$PROFILE = $PROFILE"
write-output "`$PSBoundParameters = $PSBoundParameters"
write-output "`$PSCmdlet = $PSCmdlet"
write-output "`$PSCommandPath = $PSCommandPath"
write-output "`$PSCulture = $PSCulture"
write-output "`$PSDebugContext = $PSDebugContext"
write-output "`$PSHOME = $PSHOME"
write-output "`$PSItem = $PSItem"
write-output "`$PSScriptRoot = $PSScriptRoot"
write-output "`$PSSenderInfo = $PSSenderInfo"
write-output "`$PSUICulture = $PSUICulture"
write-output "`$PSVersionTable.PSVersion = $($PSVersionTable.PSVersion)"
write-output "`$PSVersionTable.PSEdition = $($PSVersionTable.PSEdition)"
write-output "`$PSVersionTable.GitCommitId = $($PSVersionTable.GitCommitId)"
write-output "`$PSVersionTable.OS = $($PSVersionTable.OS)"
write-output "`$PSVersionTable.Platform = $($PSVersionTable.Platform)"
write-output "`$PSVersionTable.PSCompatibleVersions = $($PSVersionTable.PSCompatibleVersions)"
write-output "`$PSVersionTable.PSRemotingProtocolVersion = $($PSVersionTable.PSRemotingProtocolVersion)"
write-output "`$PSVersionTable.SerializationVersion = $($PSVersionTable.SerializationVersion)"
write-output "`$PSVersionTable.WSManStackVersion = $($PSVersionTable.WSManStackVersion)"
write-output "`$PWD = $PWD"
write-output "`$Sender = $Sender"
write-output "`$ShellId = $ShellId"
write-output "`$StackTrace = $StackTrace"
write-output "`$switch = $switch"
write-output "`$this = $this"
write-output "`$true = $true"
ListAutomaticVariables | format-table -property Variable,Content
exit 0
} catch {
write-error "ERROR in line $($_.InvocationInfo.ScriptLineNumber): $($Error[0])"

View File

@ -6,16 +6,16 @@
.NOTES Author: Markus Fleschutz / License: CC0
#>
function ListScripts { param([string]$Path)
write-progress "Reading $Path..."
$Table = import-csv "$Path"
function ListScripts { param([string]$FilePath)
write-progress "Reading $FilePath..."
$Table = import-csv "$FilePath"
foreach($Row in $Table) {
New-Object PSObject -Property @{
'Script' = "$($Row.Filename)"
'Description' = "$($Row.Description)"
}
}
write-progress -completed "Reading $Path..."
write-progress -completed "Reading $FilePath..."
write-output ""
write-output "($($Table.Count) PowerShell scripts total)"
}