GPO:在计算机启动时执行 PowerShell 脚本

GPO:在计算机启动时执行 PowerShell 脚本

我在尝试着设置 GPO 来部署 PowerShell 脚本它通过自签名 SSL 证书启用了 WinRM 和 HTTPS。

我知道有两种方法在计算机启动时执行 PowerShell 脚本

  1. 创建一个当前任务启动一个程序小路: C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe参数: -ExecutionPolicy Bypass -command "& \\unc\path\to\PowerShellScript.ps1"、用户帐户:DOMAIN\System,以及无论用户是否登录都运行以最高权限运行申请一次,不再申请配置已启用
  2. \\unc\path\to\PowerShellScript.ps1从或创建启动 PowerShell 脚本\\my.domain.local\SysVol\my.domain.local\Policies\{policy}\Machine\Scripts\Startup\PowerShellScript.ps1

如果我没记错的话,第二个选项需要将 PowerShell 执行策略配置为不受限制但这是我想要避免的事情。

所以我尝试了第一个选项,但不幸的是我收到以下错误当测试 Windows 10 客户端尝试运行脚本时:

Log Name:      Application
Source:        Group Policy Scheduled Tasks
Date:          12/26/2020 6:53:33 PM
Event ID:      4098
Task Category: (2)
Level:         Warning
Keywords:      Classic
User:          SYSTEM
Computer:      testclient.my.domain.local
Description:
The computer 'Enable WinRM HTTPS Listener' preference item in the 'Abilita WinRM HTTPS {3EC930E8-0627-4018-BD81-175250762BEE}' Group Policy Object did not apply because it failed with error code '0x80070534 No mapping between account names and security IDs was done.' This error was suppressed.
Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
  <System>
    <Provider Name="Group Policy Scheduled Tasks" />
    <EventID Qualifiers="34305">4098</EventID>
    <Level>3</Level>
    <Task>2</Task>
    <Keywords>0x80000000000000</Keywords>
    <TimeCreated SystemTime="2020-12-26T17:53:33.033401100Z" />
    <EventRecordID>13395</EventRecordID>
    <Channel>Application</Channel>
    <Computer>testclient.my.domain.local</Computer>
    <Security UserID="S-1-5-18" />
  </System>
  <EventData>
    <Data>computer</Data>
    <Data>Enable WinRM HTTPS Listener</Data>
    <Data>Abilita WinRM HTTPS {3EC930E8-0627-4018-BD81-175250762BEE}</Data>
    <Data>0x80070534 No mapping between account names and security IDs was done.</Data>
  </EventData>
</Event>

如果我没记错的话,这个错误真的很普通,我不明白发生了什么。我认为计算机本地SYSTEM帐户无法访问\\unc\path\to\PowerShellScript.ps1,但我不明白如何让它访问它Windows 10 上现在不支持匿名访问网络路径默认情况下(我不想启用它)

所以现在我很困惑,我正在尝试找出现在该怎么做:

  • 您认为第一个选项(即时任务)比第二个选项(启动脚本)更好吗?
  • 你知道其他方法可以满足我的需要吗?
  • 您知道什么可能导致我出现此0x80070534错误吗?
  • 您还有其他想法/建议吗?

谢谢你!

相关内容