任务计划程序库设置
start.ps1
start.ps1 代码如下
#$userReply=""
#while ($userReply -ne "Who is there?")#{
# $userReply = read-host "knock knock!"
#}
#clear-host
#write-output "orange you glad you created this powershell script?"
#Start-sleep -seconds 5
#write-output "orange you glad you created this powershell script?"
function CheckProcess()
{
$found=0
$now = get-date
$processName = $args[0]
$exeFileName = $args[1]
$processes = [System.Diagnostics.Process]::GetProcessesByName($processName)
#$processes = [System.Diagnostics.Process]::GetProcesses()
foreach($process in $processes)
{
if ($process.MainModule.FileName -eq $exeFileName)
{
$found=1
write-output "$processName running ,path is $exeFileName"
#Add-Content -path ".\log.txt" -value "$processName running ,path is $exeFileName. now : $now"
}
}
if ($found -eq 0)
{
write-output "$processName is not running"
write-output $exeFileName
Add-Content -path ".\log.txt" -value "start $exeFileName. now : $now"
start $exeFileName
}
}
function StopProcess()
{
$found=0
$now = get-date
$processName = $args[0]
$exeFileName = $args[1]
$processes = [System.Diagnostics.Process]::GetProcessesByName($processName)
foreach($process in $processes)
{
if ($process.MainModule.FileName -eq $exeFileName)
{
$found=1
write-output "stop $processName ,path is $exeFileName"
Add-Content -path ".\log.txt" -value "stop $processName ,path is $exeFileName. now : $now"
$process.Kill()
}
}
}
while (1 -eq 1)
{
$now = get-date
write-output $now
if ($now.Hour -eq 8 -and $now.Minute -eq 1)
{
StopProcess "DTSRemotingServer" "C:\*.exe" //程序路径
StopProcess "DTSSSClientWSV" "C:\*.exe"
Start-Sleep -s 61
}
CheckProcess "DTSRemotingServer" "C:\*.exe"
CheckProcess "DTSSSClientWSV" "C:\*.exe"Start-Sleep -s 15
}