gpt4 book ai didi

security - 如何设置系统日期/时间而不提示 UAC

转载 作者:行者123 更新时间:2023-12-03 06:34:28 26 4
gpt4 key购买 nike

出于测试目的,我经常需要在当前日期和过去的日期之间来回切换。我编写了一个快速的 powershell 脚本,这样我只需双击桌面快捷方式即可将系统时间更改为所需的硬编码日期。它工作得很好,但我必须右键单击并以管理员身份运行。我想在不单击 r 的情况下成功运行。

我尝试在本地安全策略中编辑服务的安全设置,但结果是我没有看到 UAC 提示,但脚本也没有成功。它仍然说

Set-Date : A required privilege is not held by the client

关于如何向客户授予此特权有什么想法吗?我希望脚本运行时不会提示 UAC。谢谢。

最佳答案

确实没有一个好的方法可以在没有提示的情况下实际更改时间。更改系统时间是一项特权操作,在没有提示的情况下执行此操作非常棘手(如果可能的话)。

  1. 您可以将管理员密码嵌入到脚本中,让它以管理员身份创建一个新进程,并从那里更改时间。不过,在测试中嵌入承认密码将是一个巨大的危险信号。
  2. 可能存在安全设置,您可以更改该设置以使非管理员帐户可以更改系统时间。我实际上不知道这是否可以做到。如果您这样做,则需要在运行测试的每台计算机上进行更改。另一个危险信号。

我认为更平滑的方法是简单地抽象出接口(interface)背后的代码中的时间概念。假设您使用的是 C#,您可以定义以下内容

interface ITimeUtil { 
DateTime SystemTime { get; }
}

在实际运行的程序中,您可以像今天一样通过直接查询系统时间来实现该接口(interface)。为了测试的目的,您将模拟此接口(interface)以返回过去的时间。

关于security - 如何设置系统日期/时间而不提示 UAC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20951626/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com