Возникли проблемы при запуске сценария powershell при входе в систему в качестве администратора - PullRequest
0 голосов
/ 28 июня 2019

Я написал скрипт, который должен запускаться при входе в систему для изменения IP-адреса компьютера (он предназначен для установки терминала в точке продажи). У меня был этот скрипт работает ранее. Теперь, после внесения некоторых изменений, он не запустится. После перезапуска терминала ничего не происходит. Если я проверяю диспетчер задач, я вижу, что Powershell.exe работает и просто зависает. Файл журнала, который я создаю, имеет следующие две строки:

Transcript started, output file is c:\ta_staging\termlogon.log
2019-06-27 22:16:39.121     [INFO]  Checking for marker file
2019-06-27 22:16:39.215     [INFO]  No marker file found. Starting first run.

Сценарий должен запускаться и проверять файл маркера. Если файл не найден, он должен получить номер сайта от пользователя, нажав на экранную клавиатуру. После этого будет изменен IP-адрес в зависимости от номера сайта. Запланированное задание вызывает скрипт по: C:\Windows\System32\WindowsPowershell\v1.0\powershell.exe -executionpolicy remotesigned -file C:\staging\termlogon.ps1 -verb runas

Код, который застревает:

if ( $(try { !(Test-Path -Path "$scriptPath\$marker" -PathType Leaf) } catch { $false } ) )
    {
        LogInfo "No marker file found. Starting first run."
        # Get the site number that is being staged.
        # Open the On Screen Keyboard for the tech to enter the information
        Start-Process osk
        [System.Windows.MessageBox]::Show("Please enter the site number.")
        LogInfo "Getting site ID from staging tech."
        $siteid = Read-Host "What is the site number being staged? Note: quick service sites must include '8' in the site number."
        LogInfo "Site ID is $siteid"
    } else {
    # Do Stuff
    }

Я понятия не имею, почему это перестало работать или как заставить его работать снова. У кого-нибудь есть какие-либо идеи? Спасибо

1 Ответ

0 голосов
/ 28 июня 2019

Таким образом, решение не имело ничего общего со сценарием Powershell, а с тем, как я настроил запланированное задание.Я выбрал «Запускать, вошел ли пользователь в систему или нет».Как только я изменил его на «Запускать только когда пользователь вошел в систему», все стало работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...