首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >隐藏的睡眠屏幕

隐藏的睡眠屏幕
EN

Stack Overflow用户
提问于 2016-12-29 16:44:43
回答 2查看 285关注 0票数 1

我试图停止一个进程,然后睡眠10秒,关闭下一个进程,再睡10秒,然后启动另一个进程。问题是所有的事情都是同时发生的。所以我想要开始的过程没有运行,因为其他的还没有停止。

代码语言:javascript
复制
Start-Process Powershell.exe -windowstyle Minimized { Stop-Process -processname vpnagent -Force }
Start-Process powershell.exe -windowstyle Minimized { start-sleep -s 10 }
Start-Process Powershell.exe -windowstyle Minimized { Stop-Process -processname vpnui -force }
Start-Process powershell.exe -windowstyle Minimized { start-sleep -s 10 }
Start-Process -filepath "C:\Program Files (x86)\Cisco\Cisco AnyConnect Secure Mobility Client\vpncli.exe" -ArgumentList 'connect company.domain.com' -WindowStyle Minimized
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-12-29 16:56:47

提出更简单的代码并解释我的意思的答案:

代码语言:javascript
复制
Stop-Process -ProcessName vpnagent -Force
Start-Sleep -Seconds 10

Stop-Process -ProcessName vpnui -Force
Start-Sleep -Seconds 10

# (to make line shorter)
$path = "C:\Program Files (x86)\Cisco\Cisco AnyConnect Secure Mobility Client\vpncli.exe"
$args = "connect company.domain.com"

Start-Process -FilePath $path -ArgumentList $args -WindowStyle Minimized

编辑:这似乎可以满足您的需要,但是您将看到第一个powershell窗口:

代码语言:javascript
复制
Start-Process powershell.exe -ArgumentList "-File path/to/script.ps1" -WindowStyle Minimized
票数 3
EN

Stack Overflow用户

发布于 2016-12-29 17:42:25

这里有一个可能的解决方案。

PowerShell脚本:

代码语言:javascript
复制
function StopProcess {
  param(
    $processName
  )
  $ErrorActionPreference = "SilentlyContinue"
  if ( -not (Get-Process $processName) ) {
    return
  }
  Stop-Process $processName -Force
  while ( $true ) {
    if ( -not (Get-Process $processName) ) {
      break
    }
    Start-Sleep 5
  }
}

StopProcess vpnagent
StopProcess vpnui

$app = Join-Path ${Env:ProgramFiles(x86)} `
  "Cisco\Cisco AnyConnect Secure Mobility Client\vpncli.exe"
& $app "connect vpn.fabrikam.com"

使用我编写的一个简短的可执行文件ExecGUI.exe (http://www.westmesatech.com/misctools.html)运行ExecGUI.exe脚本:

代码语言:javascript
复制
ExecGUI -s 7 -- powershell.exe -File c:\pathtoscript\script.ps1

ExecGUI.exe本身就是一个GUI应用程序,不显示控制台窗口,因此您可以使用它在最小化窗口(-s 7)中执行powershell.exe本身。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41383811

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档