Как запустить скрипт PowerShell?
как запустить скрипт PowerShell?
- у меня есть скрипт с именем myscript. ps1
- у меня установлены все необходимые фреймворки
- Я установил эту политику выполнения
- я следовал инструкциям на эта страница справки MSDN
и я пытаюсь запустить его так:
powershell.exe 'C:my_pathyada_yadarun_import_script.ps1'(С или без--noexit)
который возвращает ровно ничего, за исключением того, что имя файла вывода.
Нет ошибки, нет сообщения, ничего. О, когда я добавлю -noexit, то же самое происходит, но я остаюсь в PowerShell и должен выйти вручную.
файл ps1 должен запускать программу и возвращать уровень ошибки, зависящий от вывода этой программы. Но я совершенно уверен, что еще даже не добрался туда.
что я делаю не так?
13 ответов:
- запустите Windows PowerShell и подождите, пока появится командная строка PS
перейдите в каталог, где живет скрипт
PS> cd C:\my_path\yada_yada\ (enter)выполнить скрипт:
PS> .\run_import_script.ps1 (enter)что я упустил??
или: вы можете запустить скрипт PowerShell из
cmd.exeтакой:powershell -noexit "& ""C:\my_path\yada_yada\run_import_script.ps1""" (enter)по этому сообщение в блоге здесь
или вы могли бы даже запустите сценарий Powershell из приложения C#: -)
асинхронно выполнять сценарии PowerShell из вашего приложения C#
Если вы используете PowerShell 2.0, используйте PowerShell.параметр exe-File для вызова скрипта из другой среды, такой как cmd.exe например:
Powershell.exe -File C:\my_path\yada_yada\run_import_script.ps1
Если вы хотите запустить сценарий без изменения политики выполнения скриптов по умолчанию, вы можете использовать обход переключатель при запуске Windows PowerShell.
powershell [-noexit] -executionpolicy bypass -File <Filename>
тип:
powershell -executionpolicy bypass -File .\Test.ps1Примечание: здесь
Test.ps1- это скрипт PowerShell.
У меня была такая же проблема, и я попробовал и попробовал... Наконец, я использовал:
powershell.exe -noexit "& 'c:\Data\ScheduledScripts\ShutdownVM.ps1'"и поместите эту строку в пакетный файл, и это работает.
Если у вас есть только PowerShell 1.0, это, кажется, делает трюк достаточно хорошо:
powershell -command - < c:\mypath\myscript.ps1он передает файл сценария в командную строку PowerShell.
легко использовать PowerShell ISE, откройте скрипт, запустите и вызовите свой скрипт, функцию...
используя cmd (BAT) файл:
@echo off color 1F echo. C:\Windows\system32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy Bypass -File "PrepareEnvironment.ps1" :EOF echo Waiting seconds timeout /t 10 /nobreak > NULЕсли вам нужно Запуск от имени администратора:
- сделайте ярлык, указывающий на командную строку (я назвал ее Административная Командная Строка)
- откройте свойства ярлыка и перейдите на вкладку Совместимость
- в разделе уровень прав, убедитесь, что флажок рядом с "выполнять эту программу от имени администратора" установлен
довольно легко. Щелкните правой кнопкой мыши файл. ps1 в Windows и в меню оболочки нажмите на запуск с помощью PowerShell.
укажите путь скрипта, то есть путь установки по cmd:
$> . c:\program file\prog.ps1запустите функцию точки входа PowerShell:
например,
$> add or entry_func or main
Если ваш скрипт с именем
.ps1расширение и вы находитесь в окне PowerShell, вы просто запустите./myscript.ps1(если файл в вашем рабочем каталоге).Это верно для меня в любом случае на Windows 10 с PowerShell версии 5.1 в любом случае, и я не думаю, что я сделал что-нибудь, чтобы сделать это возможным.
если вы хотите запустить сценарий Powershell с планировщиком задач Windows, выполните следующие действия:
создать задание
Set
Program/ScriptдоPowershell.exeSet
Argumentsдо-File "C:\xxx.ps1"это из другого потока ответов https://stackoverflow.com/a/23954618/3378204
используйте параметр-File перед именем файла. Кавычки заставляют powershell думать, что это строка команд.

Comments