Это в Windows 10
Это может быть простая логическая ошибка с моей стороны, я относительно новичок в PowerShell ...
Мой основной скрипт проверяет, вошел ли пользователь в систему. и, если это так, вызывает другой скрипт, который представляет форму с таймером (скрипт «readytoinstall_logoff.ps1» вызывается в строке 04). Когда таймер истекает, он выдает команду выхода из системы, закрывает форму и возвращает управление основному сценарию. Все хорошо, за исключением того, что скрипт, вызываемый в строке 04 ниже, закрывает, он не выполняет строку 05-06, он переходит на строку 12. Я пытаюсь ввести задержку, чтобы дать время для выхода из учетной записи, но это не таквыполнение сна. (И прежде чем кто-нибудь скажет, что я буду позже заменять «сон» на цикл «пока», просто постараюсь выяснить, почему он не выполняется.) Спасибо!
01 if((quser /server:'localhost')){
02 Add-Content -Path $sLogFile -Value (quser /server:'localhost')
03 Add-Content -Path $sLogFile -Value "$(Get-Date -Format G) - User logon detected, calling 'Ready to install_logoff'"
04 & .\ReadyToInstall_logoff.ps1 -sAppName $sAppname -vAppVersion $vAppVersion -sLogfile $sLogFile -Timeout $TimeOut
05 Add-Content -Path $sLogFile -Value "$(Get-Date -Format G) - Sleeping 30 seconds to allow time to logoff"
06 Sleep -s 30
07 }
08 else
09 {
10 Add-Content -Path $sLogFile -Value "No user logon detected, continuing"
11 }
12
13
14