当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 以另一个用户身份运行 PowerShell [4 种方法]

作者:精品下载站 日期:2024-12-14 05:24:23 浏览:15 分类:玩电脑

以另一个用户身份运行 PowerShell [4 种方法]


使用 runas 命令

PowerShell 中的 runas 命令使用与当前用户不同的凭据启动程序。它为用户提供有限的权限来执行命令或访问只有更高权限帐户可用的资源。

该命令的语法为 runas /user:UserName ProgramName,其中 UserName 是具有权限的帐户,ProgramName 是应用程序、脚本、文档的名称等,可以通过该帐户开设或运行。

要使用 runas 命令以其他用户身份运行 PowerShell,我们必须满足以下要求。

  • 管理员身份打开 PowerShell。
  • 然后,运行 runas 命令。

以管理员身份打开 PowerShell

要以管理员身份打开 PowerShell:

  • 按 Windows 键 + R 打开“运行”窗口。
  • 输入 powershell 并按 Ctrl + Shift + Enter 以管理员身份打开 PowerShell。

    [玩转系统] 以另一个用户身份运行 PowerShell [4 种方法]

运行runas命令

在 PowerShell 窗口中,使用 runas 命令打开 PowerShell。

以另一个用户身份运行:

runas /user:UserName "powershell.exe"

UserName 替换为所需帐户的名称。上述命令将提示用户输入用户帐户的密码。输入正确的密码后,将打开一个新的 PowerShell 窗口,并在指定的用户帐户下运行。

成功打开PowerShell窗口后,在PowerShell窗口中使用whoami命令检查该窗口是否在指定用户帐户下运行。

谁阿米:

whoami

使用带有 Credential 参数的 Start-Process cmdlet

Start-Process 是一种在本地计算机上启动一个或多个进程的 cmdlet。相反,Credential 参数允许用户向需要身份验证的进程提供备用凭据。

基于用户界面的解决方案

解决方案是通过 UI 对话框提供凭据。我们在使用runas命令的说明中讨论了以管理员身份打开PowerShell。在本节中,我们必须满足以下要求。

  • 运行 Start-Process cmdlet。
  • 关闭父 PowerShell 窗口。

运行 Start-Process cmdlet

在 PowerShell 窗口中,使用 Start-Process 命令打开 PowerShell。

启动进程 cmdlet:

Start-Process powershell.exe -Credential ''

上述命令将提示用户输入用户帐户的用户名和密码。

[玩转系统] 以另一个用户身份运行 PowerShell [4 种方法]

输入正确的密码后,将打开一个新的 PowerShell 窗口,并在指定的用户帐户下运行。

关闭父 PowerShell 窗口

默认情况下,Windows 操作系统不允许我们在新打开的 PowerShell 窗口中输入任何内容,直到我们关闭父 PowerShell 窗口。因此,请关闭父窗口并使用 whoami 命令进行验证过程。

基于脚本的解决方案

解决方案是使用脚本变量向命令行提供用户帐户凭据。为此,我们必须满足以下要求。

  • 声明用户名和密码。
  • 生成credential对象。
  • 运行 Start-Process cmdlet。

声明用户名和密码

在 PowerShell 窗口中,通过以下命令声明用户名密码

声明用户名和密码:

$username = 'UserName'
$password = 'Password'
$securePassword = ConvertTo-SecureString $password -AsPlainText -Force

用户名密码替换为用户帐户的用户名和密码。

我们使用 ConvertTo-SecureString cmdlet 将password 转换为securePassword。 ConvertTo-SecureString cmdlet(命令行工具)将字符串或纯文本密码转换为安全字符串,即用于存储敏感信息(例如密码或其他敏感数据)的加密表示形式。

生成credential对象

使用以下命令生成 credential 对象:

生成凭证对象:

$credential = New-Object System.Management.Automation.PSCredential $username, $securePassword

我们使用 New-Object cmdlet 创建一个 System.Management.Automation.PSCredential 类型的新实例 credential,其中包含 username securePassword 作为参数。它通常用于脚本和其他自动化过程中,以创建特定类型的对象并根据需要操作它们。

运行 Start-Process cmdlet

要使用不同的用户启动 PowerShell 的新实例,请使用 Start-Process cmdlet,如下所示:

运行启动进程 cmdlet:

Start-Process powershell.exe -Credential $credential

使用 Start-Process cmdlet,我们启动了一个新的 PowerShell 实例,其中 Credential 参数随生成的 credential 对象一起提供。

它将打开新的 PowerShell 窗口。接下来,关闭之前的窗口并在新窗口上使用 whoami 命令来验证 PowerShell 窗口是否在新用户下运行。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯