public static RunspaceInfo CreateFromPowerShell( ILogger logger, PowerShell pwsh, string localComputerName) { PowerShellVersionDetails psVersionDetails = PowerShellVersionDetails.GetVersionDetails(logger, pwsh); SessionDetails sessionDetails = SessionDetails.GetFromPowerShell(pwsh); bool isOnLocalMachine = string.Equals(sessionDetails.ComputerName, localComputerName, StringComparison.OrdinalIgnoreCase) || string.Equals(sessionDetails.ComputerName, "localhost", StringComparison.OrdinalIgnoreCase); RunspaceOrigin runspaceOrigin = RunspaceOrigin.Local; if (pwsh.Runspace.RunspaceIsRemote) { runspaceOrigin = pwsh.Runspace.ConnectionInfo is NamedPipeConnectionInfo ? RunspaceOrigin.EnteredProcess : RunspaceOrigin.PSSession; } return(new RunspaceInfo( pwsh.Runspace, runspaceOrigin, psVersionDetails, sessionDetails, isRemote: !isOnLocalMachine)); }
public RunspaceInfo( Runspace runspace, RunspaceOrigin origin, PowerShellVersionDetails powerShellVersionDetails, SessionDetails sessionDetails, bool isRemote) { Runspace = runspace; RunspaceOrigin = origin; SessionDetails = sessionDetails; PowerShellVersionDetails = powerShellVersionDetails; IsOnRemoteMachine = isRemote; }
public static RunspaceInfo CreateFromLocalPowerShell( ILogger logger, PowerShell pwsh) { PowerShellVersionDetails psVersionDetails = PowerShellVersionDetails.GetVersionDetails(logger, pwsh); SessionDetails sessionDetails = SessionDetails.GetFromPowerShell(pwsh); return(new RunspaceInfo( pwsh.Runspace, RunspaceOrigin.Local, psVersionDetails, sessionDetails, isRemote: false)); }