練習 PowerShell 相關語法 , 使用 Select-Object 和 Start-Process
最近遇到一個案例,一個使用者的環境不知道是安裝了甚麼樣的監控程式,不定時會把我們正常運行的作業給關閉,造成使用上的困擾。
但因為使用者的那個電腦上已經安裝一堆程式,如果要貿然清除,勢必又會有些紛爭,因此就手動寫一個 PowerShell 的 Script , 放在使用者的電腦讓,利用 Task Manager 定時去執行,因此把相關語法整理一下,後續要使用才不會又忘記了。
<#
Name : CheckAppIfNotRunning
用來檢查相關路徑下的程式是否有執行,如果沒有執行則呼叫該作業
#>
function CheckAppIfNotRunning {
param($Path)
$ap = Get-Process -ErrorAction SilentlyContinue | Select-Object Name, Path | Where {$_.Path -eq $Path }
if ($ap){
Write-Output "Run OK , So nothing"
}else
{
Start-Process -FilePath $Path
}
}
# 呼叫函數檢查 , 如果同時有多個需要判斷 , 則重複呼叫該函數多次
CheckAppIfNotRunning -Path 'C:\Temp\CheckOracle_x64.exe'
CheckAppIfNotRunning -Path 'D:\Temp\CheckOracle_x64.exe'