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

[玩转系统] 将 PowerShell 作为系统运行

作者:精品下载站 日期:2024-12-14 22:02:42 浏览:13 分类:玩电脑

将 PowerShell 作为系统运行


以系统身份运行 PowerShell 非常重要,原因如下: 拥有更高的权限来执行用户帐户无法执行的操作,以及访问文件和文件夹。

以 NT 权限/系统帐户身份运行 PowerShell 可提供一致性,因为它可确保脚本以相同的方式运行,而无论登录用户如何。

它使用 Psexcec.exe 轻量级实用程序,将 PowerShell 作为系统帐户启动。作为系统运行 PowerShell 的另一种方法是使用任务计划程序

在本文中,我们将讨论如何使用 Psexec.exe 以系统帐户运行 PowerShell,并使用任务计划以系统帐户启动 PowerShell 并在系统帐户下运行脚本。

使用 Psexec 将 PowerShell 作为系统运行

以系统帐户运行的 PowerShell 脚本具有最高级别的安全权限,并确保脚本应以相同的方式运行。

Psexec 实用程序用于将 PowerShell 作为系统启动,单击下面的链接下载 psexec v2.40 版本并解压 zip 文件。

https://learn.microsoft.com/en-us/sysinternals/downloads/psexec

要使用 Psexec 实用程序,请以管理员身份打开命令提示符并指定 psexec.exe 路径以运行以下命令。

Psexec.exe -i -s C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe

在上面的命令中,psexec.exe命令使用参数-i运行PowerShell,以便与桌面交互,-s指定在系统帐户中运行 PowerShell。

上述命令的输出打开在系统帐户中运行的PowerShell终端,使用whoami命令显示它在ntauthority\system帐户中运行。

[玩转系统] 将 PowerShell 作为系统运行

使用任务计划程序将 PowerShell 作为系统运行

使用任务计划,它可以作为系统帐户启动 PowerShell 并运行程序或脚本。

让我们创建一个 PowerShell 脚本,使用 whoami.exe 或使用 [Security.Principal.WindowsIdentity] 类的 GetCurrent() 方法获取当前用户,并将脚本存储为 获取用户.ps1

$userinfo = [PSCustomObject]@{
    'whoami'          = whoami.exe
    'CurrentUser'     = [Security.Principal.WindowsIdentity]::GetCurrent().Name
}

$userinfo | Out-File -FilePath D:\userinfo.txt

在上面的 PowerShell 脚本中,使用 PSCustomObject 创建包含 whoami 和 CurrentUser 信息的结构化数据,并将它们存储在 $userinfo 变量中。

$userinfo 变量传递给 Out-File cmdlet,以将输出写入指定位置的文本文件。

现在,要使用任务计划以系统帐户身份运行 PowerShell,请按照以下步骤操作:

  • 打开任务计划程序(运行>>taskschd.msc
  • 右键单击“任务计划程序”,然后单击“创建基本任务

[玩转系统] 将 PowerShell 作为系统运行

  • 为任务提供名称,然后单击“下一步

[玩转系统] 将 PowerShell 作为系统运行

  • 设置触发器(“一次”)来运行脚本,然后单击“下一步

[玩转系统] 将 PowerShell 作为系统运行

  • 选择开始时间并点击“下一步

[玩转系统] 将 PowerShell 作为系统运行

  • 选择“启动程序”,然后单击“下一步
  • 选择“powershell.exe”程序来运行脚本,并将参数添加为脚本路径,以使用参数安排 PowerShell 脚本。
-NoProfile -ExecutionPolicy Bypass -File D:\PS\get-user.ps1

[玩转系统] 将 PowerShell 作为系统运行

  • 单击“当我单击完成时打开此任务的属性对话框

[玩转系统] 将 PowerShell 作为系统运行

  • 将用户更改为系统(单击“更改用户或组”并搜索“系统”帐户)并选择Windows 10配置

[玩转系统] 将 PowerShell 作为系统运行

  • 单击确定,它将关闭所有对话框并创建一个基本的任务计划程序。

任务计划程序将在计划的时间作为系统帐户运行 PowerShell 脚本。脚本将用户信息写入文本文件。打开文本文件并检查其内容。

[玩转系统] 将 PowerShell 作为系统运行

结论

我希望上面关于如何使用 psexec 和任务计划程序以系统帐户运行 PowerShell 的文章对您有所帮助。

计划任务使用提供的参数运行 PowerShell 脚本。

您可以在 ShellGeek 主页上找到有关 PowerShell Active Directory 命令和 PowerShell 基础知识的更多主题。

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

取消回复欢迎 发表评论:

关灯