如果開始時間少于 2 小時,我需要終止該行程。
我撰寫了以下 cmdlet 來找出starttime但如何找出它是否少于 2 小時:
get-process process1 | select starttime
也有可能在某些主機process1上沒有運行。所以我需要先檢查if the process1 is running
uj5u.com熱心網友回復:
ForEach-Object除了檢查值是否低于 2 小時的if條件之外,您還可以使用您選擇的回圈,在此示例中。StartTime
如果您需要首先檢查行程是否正在運行,那么您需要獲取所有行程并按您要查找的行程名稱進行過濾。然后檢查回傳的值Where-Object是否是$null。
$procName = 'myprocess'
$process = Get-Process | Where-Object Name -EQ $procName
if(-not $process) {
Write-Warning "$procName not found!"
}
else {
$process | ForEach-Object {
if($_.StartTime -lt [datetime]::Now.AddHours(-2)) {
try {
'Attempting to stop {0}' -f $_.Name
Stop-Process $_ -Force
'{0} successfully stopped.' -f $_.Name
}
catch {
Write-Warning $_.Exception.Message
}
}
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/440019.html
標籤:视窗 电源外壳 PowerShell-2.0 powershell-3.0
上一篇:“磁區資料”是什么意思-S3
