diff --git a/src/System.Management.Automation/engine/remoting/client/remoterunspaceinfo.cs b/src/System.Management.Automation/engine/remoting/client/remoterunspaceinfo.cs index 4c3d1219af..76f662983a 100644 --- a/src/System.Management.Automation/engine/remoting/client/remoterunspaceinfo.cs +++ b/src/System.Management.Automation/engine/remoting/client/remoterunspaceinfo.cs @@ -272,48 +272,35 @@ namespace System.Management.Automation.Runspaces remoteRunspace.PSSessionName = Name; } - // WSMan session - if (remoteRunspace.ConnectionInfo is WSManConnectionInfo) + switch (remoteRunspace.ConnectionInfo) { - ComputerType = TargetMachineType.RemoteMachine; + case WSManConnectionInfo _: + ComputerType = TargetMachineType.RemoteMachine; + string fullShellName = WSManConnectionInfo.ExtractPropertyAsWsManConnectionInfo( + remoteRunspace.ConnectionInfo, + "ShellUri", string.Empty); + ConfigurationName = GetDisplayShellName(fullShellName); + break; - string fullShellName = WSManConnectionInfo.ExtractPropertyAsWsManConnectionInfo( - remoteRunspace.ConnectionInfo, - "ShellUri", string.Empty); + case VMConnectionInfo vmConnectionInfo: + ComputerType = TargetMachineType.VirtualMachine; + ConfigurationName = vmConnectionInfo.ConfigurationName; + break; - ConfigurationName = GetDisplayShellName(fullShellName); - return; + case ContainerConnectionInfo containerConnectionInfo: + ComputerType = TargetMachineType.Container; + ConfigurationName = containerConnectionInfo.ContainerProc.ConfigurationName; + break; + + case SSHConnectionInfo _: + ComputerType = TargetMachineType.RemoteMachine; + ConfigurationName = "DefaultShell"; + break; + + default: + Dbg.Assert(false, "Invalid Runspace"); + break; } - - // VM session - VMConnectionInfo vmConnectionInfo = remoteRunspace.ConnectionInfo as VMConnectionInfo; - if (vmConnectionInfo != null) - { - ComputerType = TargetMachineType.VirtualMachine; - ConfigurationName = vmConnectionInfo.ConfigurationName; - return; - } - - // Container session - ContainerConnectionInfo containerConnectionInfo = remoteRunspace.ConnectionInfo as ContainerConnectionInfo; - if (containerConnectionInfo != null) - { - ComputerType = TargetMachineType.Container; - ConfigurationName = containerConnectionInfo.ContainerProc.ConfigurationName; - return; - } - - // SSH session - SSHConnectionInfo sshConnectionInfo = remoteRunspace.ConnectionInfo as SSHConnectionInfo; - if (sshConnectionInfo != null) - { - ComputerType = TargetMachineType.RemoteMachine; - ConfigurationName = "DefaultShell"; - return; - } - - // We only support WSMan/VM/Container sessions now. - Dbg.Assert(false, "Invalid Runspace"); } #endregion Constructor @@ -326,33 +313,28 @@ namespace System.Management.Automation.Runspaces /// Auto generated name. private string GetTransportName() { - if (_remoteRunspace.ConnectionInfo is WSManConnectionInfo) + switch (_remoteRunspace.ConnectionInfo) { - return "WSMan"; - } - else if (_remoteRunspace.ConnectionInfo is SSHConnectionInfo) - { - return "SSH"; - } - else if (_remoteRunspace.ConnectionInfo is NamedPipeConnectionInfo) - { - return "NamedPipe"; - } - else if (_remoteRunspace.ConnectionInfo is ContainerConnectionInfo) - { - return "Container"; - } - else if (_remoteRunspace.ConnectionInfo is NewProcessConnectionInfo) - { - return "Process"; - } - else if (_remoteRunspace.ConnectionInfo is VMConnectionInfo) - { - return "VMBus"; - } - else - { - return "Unknown"; + case WSManConnectionInfo _: + return "WSMan"; + + case SSHConnectionInfo _: + return "SSH"; + + case NamedPipeConnectionInfo _: + return "NamedPipe"; + + case ContainerConnectionInfo _: + return "Container"; + + case NewProcessConnectionInfo _: + return "Process"; + + case VMConnectionInfo _: + return "VMBus"; + + default: + return "Unknown"; } }