powershell - 每次系统从 sleep 中唤醒时都需要运行 powershell 脚本

标签 powershell sleep wakeup

我刚刚用 PowerShell 编写了一个脚本,每次我的系统从 sleep 或休眠状态唤醒时,我都需要它运行。
我尝试了 gpedit.msc -> 用户配置 -> Windows 设置 -> 脚本 -> 登录但是当我的系统从“ sleep ”唤醒时这不起作用......可能是因为“ sleep ”->“唤醒”是技术上不是新登录(作为用户,我已经登录)。

sleep 唤醒事件或登录(用户登录)事件应该触发我的脚本。

关于我如何做到这一点的任何想法?

关于我的脚本功能的更多信息:它检查互联网/网络是否已连接。如果是,它将尝试使用所需的参数运行 Cisco VPN 连接命令行实用程序并将我登录到 VPN。每次我从 sleep 中唤醒系统并登录时,我都需要该死的 VPN 来自动连接我。

最佳答案

我想到了。我使用了上面理查德指出的任务计划程序。

我将触发器设置为..
在事件上 -> 系统 -> 内核电源 -> 42

如果有人感兴趣……这是脚本(我是 PowerShell 脚本的初学者,所以欢迎您的输入)

$strComputerName = gc env:computername
$strVPN = 'c:\Program Files (x86)\Cisco Systems\VPN Client\vpnclient.exe'
$vpnArgs = 'connect', 'ProfileName', 'user', 'XXXXXXXX', 'pwd', 'XXXXXXXXXX'
[int]$count = 6
Write-Host "Checking for Internet Connectivity"
While (!([Activator]::CreateInstance([Type]::GetTypeFromCLSID([Guid]'{DCB00C01-570F-4A9B-8D69-199FDBA5723B}')).IsConnectedToInternet))
{
    Write-Host "Sleeping for 10 seconds before checking for internet again"
    Start-Sleep -s 10
    $count--
    if ( $count -eq 0) 
    {
        Write-Host "Breaking from loop"
        break
    }
}
if ( $count -ne 0) { Invoke-Command -ScriptBlock { & $strVPN $vpnArgs } }
else { Write-Host "No Internet Connectivity, so not attempting VPN connection" }

关于powershell - 每次系统从 sleep 中唤醒时都需要运行 powershell 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10362017/

相关文章:

PowerShell 命令版本

Android - 从 Mulitiasking 中检测到 `App Became Active'?

python - sleep 命令会降低性能吗?

Android让Toast先于Thread.sleep//Systemclock.sleep

android - 使用 Hi Galaxy 或 Ok Google 等特定词语唤醒安卓手机

c - 利用消息将一个进程的数据发送到另一进程 (Linux)

loops - 计算文件中的行数并存储在Variable中

powershell - 是首选Powershell -sta(公寓状态)吗?

powershell - 运行命令而不将其添加到历史记录中

c - 将主线程从 sleep 中唤醒