Public/TMD.PowerShell.ps1
function Test-TMDIsRunningAction { $Global:TmdRunningAction ?? $false } Function Invoke-WindowsPowerShell { [CmdletBinding()] param( [Parameter(Mandatory = $true, ValueFromPipeline = $false, Position = 0)][PSObject]$Params, [Parameter(Mandatory = $true, ValueFromPipeline = $false, Position = 0)][scriptblock]$ScriptBlock ) begin { } process { $WpsSession = New-PSSession -ComputerName ($env:COMPUTERNAME + '.' + $env:USERDNSDOMAIN) -ConfigurationName TMD51 -EnableNetworkAccess -Authentication Kerberos $StdOut = Invoke-Command -ScriptBlock $ScriptBlock -Session $WpsSession -ArgumentList $Params if ($null -ne $StdOut) { $ReturnObjects = $StdOut | Select-Object -Last 1 | ConvertFrom-Json -Depth 100 ## Create each of the items as a Variable object with the name foreach ($obj in $ReturnObjects.PSObject.Properties) { New-Variable -Name $obj.Name -Value $obj.Value -Force -Scope Global # $obj } } } end { } } |