PowerShell的非交互模式(Powershell in NonInteractive mode

2019-09-03 13:38发布

我使用八达通为我们的部署。 我与PowerShell脚本来控制部署的一个问题:

# stops running processes
$processes = @("Notepad",
               "Firefox")
foreach ($process in $processes)
{
    $prc = Get-Process -Name $process -ErrorAction SilentlyContinue
    if (-not($prc -eq $null))
    {
        Write-Host "Stopping " $prc.ProcessName
        Stop-Process -InputObject $prc -ErrorAction SilentlyContinue
    }
}

我试图阻止的程序是不是你在上面的脚本中看到的,但它们代表什么,我试图做的。 现在我与它的问题是,它的工作原理以及一台服务器上,但没有其他。 当它不工作,我得到的错误信息:

停止进程:Windows PowerShell是在非交互模式。 阅读并提示功能不可用。

该作品的剧本在PowerShell的3.0,在一个不上PowerShell 2.0中运行工作。 我不能升级到PowerShell的3.0到处但因为旧服务器与Windows Server 2003上运行。我怎样才能使它在PS 2.0工作?

Answer 1:

与运行-Force

Stop-Process -InputObject $prc -ErrorAction SilentlyContinue -Force

由于CB的评论所说: -confirm:$false也应该工作。 理,这是如下: -Confirm是开关参数。 如果你有一个尾随冒号和值指定参数开关参数只能接受参数。



文章来源: Powershell in NonInteractive mode