通过 powershell 在没有管理员的情况下延迟监视器超时
Delaying monitor timeout without admin via powershell
我正在使用 powershell 脚本让 windows 个人电脑登录,违反其组策略,但是 20 分钟后,显示器在显示“无信号”消息后关闭。
我正在使用的脚本是一个切换滚动锁定以模拟输入并保持用户登录的脚本。通常计算机会锁定并让您按 ctrl+alt+del 并在 15 分钟后输入密码以解锁。该脚本可以让我保持登录状态并避免锁定,但不会让监视器保持打开状态,这是我的目标。最终目标是我可以保持登录状态并打开监视器大约 12 小时。
我没有管理员权限,必须使用 -ep 绕过 运行 我的脚本。
如果你可以访问 USB 可以做这样的事情...
你只需要用 ES_DISPLAY_REQUIRED 调用 SetThreadExecutionState | ES_SYSTEM_REQUIRED 参数。 (即 0x02 | 0x01 = 0x03)
下面的代码是如何操作的示例。
Add-Type -TypeDefinition @"
using System;
using System.Diagnostics;
using System.Runtime.InteropServices;
public static class Kernel32
{
[DllImport("Kernel32.dll", CharSet=CharSet.Auto)]
public static extern uint SetThreadExecutionState(uint dwExecutionState);
}
"@
[Kernel32]::SetThreadExecutionState(0x03)
Multimedia applications, such as video players and presentation applications, must use ES_DISPLAY_REQUIRED when they display video for long periods of time without user input.
我对 powershell 了解不多,但对我来说似乎是正确的。但是你确实需要这个 API 电话,我很确定。
我正在使用 powershell 脚本让 windows 个人电脑登录,违反其组策略,但是 20 分钟后,显示器在显示“无信号”消息后关闭。
我正在使用的脚本是一个切换滚动锁定以模拟输入并保持用户登录的脚本。通常计算机会锁定并让您按 ctrl+alt+del 并在 15 分钟后输入密码以解锁。该脚本可以让我保持登录状态并避免锁定,但不会让监视器保持打开状态,这是我的目标。最终目标是我可以保持登录状态并打开监视器大约 12 小时。
我没有管理员权限,必须使用 -ep 绕过 运行 我的脚本。
如果你可以访问 USB 可以做这样的事情...
你只需要用 ES_DISPLAY_REQUIRED 调用 SetThreadExecutionState | ES_SYSTEM_REQUIRED 参数。 (即 0x02 | 0x01 = 0x03)
下面的代码是如何操作的示例。
Add-Type -TypeDefinition @"
using System;
using System.Diagnostics;
using System.Runtime.InteropServices;
public static class Kernel32
{
[DllImport("Kernel32.dll", CharSet=CharSet.Auto)]
public static extern uint SetThreadExecutionState(uint dwExecutionState);
}
"@
[Kernel32]::SetThreadExecutionState(0x03)
Multimedia applications, such as video players and presentation applications, must use ES_DISPLAY_REQUIRED when they display video for long periods of time without user input.
我对 powershell 了解不多,但对我来说似乎是正确的。但是你确实需要这个 API 电话,我很确定。