【问题标题】:How to run a powershell script on startup in safe mode as an administrator如何以管理员身份在安全模式下在启动时运行 powershell 脚本
【发布时间】:2020-06-10 21:44:40
【问题描述】:

在我工作的公司,我们使用 Bit9 作为我们安全堆栈的一部分。我们正在将所有设备上的版本升级到 8.0(最终是 8.2)。在自动升级和我编写的不同脚本之间,我能够升级大约 1000 个。但仍有大约 700 个来自 Bit9 的 CLI 密码不起作用,并且设备没有签入以允许自动升级。

Bit9 回来并提出以下建议:

  1. 将端点引导至带网络的安全模式
  2. 从 CMD 提示符运行一个执行以下管理命令的脚本(请注意 start= disabled 之间的适当间距):

    sc config parity start=disabled

    sc config paritydriver start=disable

  3. 启动到正常模式

我已经编写了一个脚本,它应该可以完成所有这些工作,但我无法在设备以安全模式启动后运行该脚本。我已经尝试了所有我能想到的:

  • HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
  • HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce
  • 将批处理文件放在启动文件夹中
  • 计划任务

我所做的一切都不起作用。

另外一个警告是,正在登录的用户(安全模式和正常模式)不是管理员。它是普通用户。我正在使用 BigFix 启动初始脚本,它确实以管理员身份运行。

提前致谢。

【问题讨论】:

  • 在这里查看答案:stackoverflow.com/a/18822203/11609403
  • @leeharvey1 我试过了。好像没用。
  • 可能是因为用户以普通用户身份登录。这是一个技巧(如果你喜欢冒险的话):尝试创建一个设置为“自动”启动的“假”系统服务,它作为“本地系统”运行,带有“恢复”选项,以“运行程序”和命令行参数。从理论上讲,这应该在本地管理员上下文中调用您的程序,这将使您的程序在启动时有超过 1 次运行的机会,并且如果配置正确,也应该在正常的 Windows 启动期间工作。祝你好运。
  • @leeharvey1 我愿意尝试一下(至少在实验室环境中)。不知道我会怎么做。

标签: powershell


【解决方案1】:

我终于可以让它工作了。服务理念是起点,尽管我没有创建“假”服务,而是实际上用 C# 编写了一个调用 PS 脚本的服务。然后我可以编辑注册表,使该服务能够以安全模式启动。这似乎奏效了。现在唯一的问题是我似乎无法以编程方式禁用安全模式,但我将把它作为一个单独的问题提出。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-01-01
    • 1970-01-01
    • 2019-09-16
    • 1970-01-01
    • 2023-01-24
    • 2018-07-29
    • 1970-01-01
    • 2016-11-22
    相关资源
    最近更新 更多