在 PowerShell 中切换用户,就像在 Unix/Linux 中“sudo su -”一样

在 PowerShell 中切换用户,就像在 Unix/Linux 中“sudo su -”一样

当我在 PowerShell 中以管理员身份登录到 Windows 服务器时,如何在不输入密码的情况下切换到另一个用户?我正在寻找与 Linux 完全相同的sudo su -功能su

答案1

您需要为此编写一个自定义函数。您可以使用以下函数(如下),并将其放入您的PowerShell 配置文件

要使用此功能,您必须使用提升的 PowerShell 控制台。

如您所见,您有一个$user参数,默认情况下设置为adminsystem(此处使用您的默认用户名)。ValidateSet()您可以指定允许$user参数使用哪些值。

然后它将switch()根据您的$user参数读取正确的用户名和密码。

然后它将创建一个凭证对象和一个 pssession 作为您想要的用户。

不要建议在脚本中使用纯文本形式的密码!你应该遵循在脚本中安全地存储你的密码

function switch-psuser {
    
    Param(
        [Parameter(Position=0)]
        [ValidateSet("adminsystem","administrator")]
        $User = "adminsystem"
    )

    switch($User)
    {
        'adminsystem'   { $username = "domain\adminsystem" ; $pw = "yyy"}
        'administrator' { $username = "domain\administrator" ; $pw = "zzz" }
    }

    $password = $pw | ConvertTo-SecureString -AsPlainText -Force
    $cred = New-Object System.Management.Automation.PSCredential -ArgumentList $username,$password
    New-PSSession -Credential $cred | Enter-PSSession
}

示例输出:

PS C:\WINDOWS\system32> switch-psuser
[localhost]: PS C:\Users\adminsystem\Documents> whoami
domain\adminsystem
[localhost]: PS C:\Users\adminsystem\Documents> exit

PS C:\WINDOWS\system32> switch-psuser administrator
[localhost]: PS C:\Users\Administrator.DOMAIN\Documents> whoami
DOMAIN\administrator
[localhost]: PS C:\Users\Administrator.DOMAIN\Documents> exit
PS C:\WINDOWS\system32>

在此示例中,您可以看到,当不提供 的值时$user,它将采用您的默认用户。当提供的用户名在 中ValidateSet()时,switch()它将采用该用户名

希望这不会太复杂。否则就直接问吧:)

答案2

SimonS 的回复更方便,但我注意到 WhyWhat 不想将密码存储在文件中。您可以改用:

New-PSSession -Credential $cred | Enter-PSSession

Get-Credential 是在 -Credential 上定义的 PSCredential 未定义时生成的,它会在提示符中要求您输入用户名和密码。如果您使用的是 Windows Server Core 版本,则此提示符位于 Powershell 窗口中。您的本地计算机不会以任何方式审查凭证,您可以使用类 Windows 格式的 AD 登录DOMAIN\username

答案3

从技术上讲,“sudo su -”的意思是“成为 root ”,所以在 powershell 中,这是一个等价的:-

Start-Process "C:/Windows/System32/WindowsPowerShell/v1.0/powershell.exe" -Verb RunAs

如果您的电脑已设置为询问这些事情,它可能会打开 UAC 控制弹出窗口来请求权限。

不幸的是,它会打开一个新窗口。

相关内容