Если вы хотите остаться нативным PowerShell, используйте командлет start-process, и вы можете указать путь к файлу (процесс для запуска) в качестве powershell.exe и параметры -ArgumentList в качестве условий для вашего нового сеанса.В моем примере ниже я настраиваю ExecutionPolicy, поэтому вам не нужно полагаться на политику системного уровня, NoProfile сделает ваш сценарий более устойчивым, не загружая в систему какой-либо настроенный профиль.
$Cred = (Get-Credential)
$ScriptLocation = "C:\Temp\TestScript.ps1"
Start-Process -FilePath "powershell.exe" -ArgumentList "-NoProfile -ExecutionPolicy Bypass -File $ScriptLocation" -Credential $Cred
Вы можете видеть в сценарии получение объекта учетных данных (который вы, вероятно, захотите предоставить, чтобы сценарий просто запускался), затем указание местоположения сценария и его выполнение.
КакУпомянутое vonPryz, вы всегда можете устранить неполадки, добавив -NoExit в свой список аргументов, чтобы окно оставалось открытым после выполнения сценария, но имейте в виду, что если местоположение сценария не существует, вы все равно увидите, что узел powershell появляется и закрывается справапрочь.
Вы также можете добавить -WindowStyle Hidden в свой список аргументов, чтобы скрыть любое окно от появления вообще.