Задать вопрос

Как запустить скрипт PS через cmd?

Есть скрипт.
$username = 'логин администратора'
$password = 'пароль'
$secstr = New-Object -TypeName System.Security.SecureString
$password.ToCharArray() | ForEach-Object {$secstr.AppendChar($_)}
$cred = new-object -typename System.Management.Automation.PSCredential -argumentlist $username, $secstr
Start-Process -credential $cred -filepath '\\ad\TISert\SysInfo Detector Pro\SysInfoDetector.exe'


если запустить его из PowerShell то всё работает, программа запускается. Но при запуске этого скрипта из батника...

@echo off
SetLocal EnableExtensions

For /F "UseBackQ delims=" %%a in (`
  %SystemRoot%\System32\WindowsPowerShell\v1.0\PowerShell.exe -ExecutionPolicy ByPass -command ". 'c:\zzz\scr.ps1'"
`) do (
  echo %%a
)
pause


Появляется данная проблема
5e8eb02e23a4d069887136.png

Может кто то сталкивался с подобным?
А вся махинация эта нужна для того, чтобы у пользователей при запуске системы, запускалась прога с правами админа.
  • Вопрос задан
  • 6595 просмотров
Подписаться 3 Средний 2 комментария
Пригласить эксперта
Ответы на вопрос 3
@pavelsha
Используй планировщик. Вход в систему и выполнение от указанного пользователя это его штатные возможности.

Ну и указание логина и пароля Администратора в открытом виде... Это "бест практис"...
Ответ написан
Jump
@Jump
Системный администратор со стажем.
Задайте путь полностью.
Ответ написан
Комментировать
@zloy_zaya
Попробуйте ту часть, в которой вы запускаете скрипт прописать вот так:
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -NonInteractive -command ". 'c:\zzz\scr.ps1'
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы