Asked
6 years, 6 months ago
Viewed
15k times
If I run tsc init in a empty directory, I get the error:
error TS6053: File ‘init.ts’ not found
I have an understanding question: Shouldn’t tsc init simply create a tsconfig.json file? If not, with which command can I create a tsconfig.json ?
p.s. Not a duplicate, other TS6053-posts are targeting another topics,..
asked Jul 18, 2016 at 9:24
The command is wrong. You need to specify a flag:
tsc --init
Check out this pull request for more detail.
answered Jul 18, 2016 at 9:35
Luka JacobowitzLuka Jacobowitz
22.2k5 gold badges38 silver badges57 bronze badges
3
You probably have a typo : type
tsc --init
answered Jul 18, 2016 at 9:46
![]()
henrybbosahenrybbosa
1,12912 silver badges28 bronze badges
По какой-то причине npx tsc --init выводит следующую ошибку:
$ npx tsc --init
npx: installed 1 in 1.467s
error TS5023: Unknown compiler option 'init'.
Я установил пакет typescript с Yarn 2 :
$ yarn add -D typescript
➤ YN0000: ┌ Resolution step
➤ YN0000: └ Completed in 0.31s
➤ YN0000: ┌ Fetch step
➤ YN0013: │ typescript@npm:3.9.3 can't be found in the cache and will be fetched from the remote registry
➤ YN0013: │ typescript@patch:typescript@npm%3A3.9.3#builtin<compat/typescript>::version=3.9.3&hash=8cac75 can't be found in the cache and will be fetched from the disk
➤ YN0000: └ Completed in 1.46s
➤ YN0000: ┌ Link step
➤ YN0000: └ Completed
➤ YN0000: Done in 1.95s
Может кто-нибудь объяснить мне, почему tsc не распознает --init и что я делаю не так?
ОБНОВЛЕНИЕ :
Как выяснил Дэниел, проблема в том, что npx не находит и не распознает пакет typescript, установленный с Yarn 2 . Решением было использовать вместо этого yarn: yarn tsc --init
2 ответа
Лучший ответ
Судя по выходным данным npx tsc --init, похоже, у вас нет установленного пакета typescript в каталоге, в котором вы запустили команду. npx пытается помочь, устанавливая все пакеты, необходимые для выполнения команды.
Несмотря на то, что он пытался быть полезным, в итоге не удалось установить пакет, который можно было бы ожидать в 2020 году. Если вы запустите $ npx tsc -v, вы, скорее всего, получите следующий результат:
$ npx tsc -v
npx: installed 1 in 1.098s
message TS6029: Version 1.5.3
Однако, если бы у вас был установлен пакет typescript, вы бы получили следующее:
$ npx tsc -v
Version 3.9.3
Как видите, версия, установленная npm, отличается. Это потому, что npx закончил установку пакета tsc , а не typescript . Пакет tsc также предоставляет команду tsc. npx выбрал его вместо typescript, потому что, хотя оба пакета предоставляют команду tsc, она также называется tsc. npx подумал, что это больше подходит.
ОБНОВЛЕНИЕ:
Пряжа 2 представляет функцию Plug'n'Play. Зависимости устанавливаются совсем не так, как раньше в Yarn 1 и npm.
Пряжа 1 и npm помещают код для ваших пакетов в каталог node_modules в каждом отдельном проекте. npx идет искать там команды.
Yarn 2, с другой стороны, устанавливает код пакета в общую папку и помещает в ваш проект один файл .pnp.js, который выполняет сопоставление. Если вы устанавливаете пакет для одного проекта, вам не придется загружать его снова, если вы используете его в другом проекте.
Однако любой инструмент, который зависел от node_modules, будет сломан. Вот почему npx не смог найти typescript в вашем проекте. npx не знает о Plug'n'Play.
Подробнее об этой функции можно прочитать здесь: https://yarnpkg.com/features/pnp
6
Daniel
29 Май 2020 в 08:42
Сюда пришли другие, которые не используют пряжу или npx, в моем случае это решает:
npm install -g typescript --force
3
Dorad
2 Окт 2020 в 04:44
Если я запускаю tsc init в пустом каталоге, я получаю ошибку:
ошибка TS6053: файл ‘init.ts’ не найден
У меня есть вопрос понимания: не должен ли tsc init просто создать файл tsconfig.json? Если нет, с помощью какой команды я могу создать tsconfig.json?
p.s. Не дубликаты, другие сообщения TS6053 ориентированы на другие темы,..
18 июль 2016, в 11:47
Поделиться
Источник
2 ответа
Команда неверна. Вам нужно указать флаг:
tsc --init
Подробнее этот запрос на растяжение.
Luka Jacobowitz
18 июль 2016, в 07:51
Поделиться
Вероятно, у вас есть опечатка: type
tsc --init
henrybbosa
18 июль 2016, в 06:47
Поделиться
Ещё вопросы
- 0Получить пользователей, которые должны оплатить в один день sql
- 0Я должен прокрутить вниз автоматически, если на странице есть анимация
- 0Не могу написать в текстовое поле с Javascript
- 0Определение, была ли выбрана какая-либо опция в операторе if
- 1Использование детских виджетов Kivy между Python и Kivy Language
- 0Сериализация и отправка формы с JQuery POST и PHP не работает
- 0Выпадающий каскад взаимосвязанных предметов
- 0MySQL SELECT, объединенные таблицы и группы / счетчики COMMA разделены значения
- 1Есть ли недостатки в использовании FileStream непосредственно в веб-сервисе?
- 0Делать функцию по нажатию кнопки
- 0Запуск фильтра из консоли для проверки значения
- 0Поддерживает ли Visual Studio индексирование кода C ++?
- 0угловой против JQuery для моего проекта
- 0Как создать сеанс входа и сохранить состояние входа
- 1преобразование из метки времени в момент возврата за день до
- 0Нулевая ошибка хранимой процедуры
- 0Как проверить, является ли атрибут href пустым [duplicate]
- 1На выходе всегда получается пустой список
- 1Как получить значения флажка в узле js, используя ejs?
- 1Как использовать удаленный атрибут в классах структуры сущностей
- 1Объект Javascript против метода String и test ()
- 0Как синхронизировать мою новую базу данных электронной коммерции с моей старой физической инвентаризацией
- 0Соедините 3 таблицы с codeigniter и отобразите его
- 0Вызов JQuery не работает с отображаемой формой sharepoint, но работает над добавлением
- 0jQgrid привязки не работают
- 0Выпадающие меню в Firefox не появляются там, где они должны быть
- 1Android SDK предоставляет удобные методы для преобразования Shape в Path?
- 1Избегайте внутренних добытчиков / сеттеров — Game
- 0Ширина столбца в таблице HTML
- 1какие сервлеты не являются частью веб-приложения
- 1Windowlicker не работает на OS X
- 1Как правильно использовать org.w3c.xml.Document # importNode
- 0angularJS Сброс значений $ Scope при нажатии кнопки
- 0Как сохранить дату в миллисекундах Unix в Mysql?
- 1Android ListView с SimpleCursorAdapter — Сбои в резюме
- 0Ошибка преобразования десятичного числа в шестнадцатеричное
- 0Найти точный дубликат по полю таблицы соединений
- 0столбец таблицы, чтобы не отталкивать другие столбцы?
- 1Предотвращение окончания потока
- 0@RequestMapping не получает параметры и значения.
- 1Push-файл на устройство Android
- 1правильный способ заменить значение NaN из другого фрейма данных при совпадении столбцов в пандах
- 0Внешние функции «не определены» предупреждение JSHINT
- 1Вставьте большой блоб с драйвером Java Cassandra
- 1показывать изображения по одному
- 0Чтобы получить имя из типа входного файла и отображать в теге ap через javascript.
- 1Выбор элемента в веб-браузере Android
- 0Эхо Backspace внутри строки
- 1Как получить результат / обратная связь / количество строк / количество строк, затронутых запросом MERGE во фрагменте Python
- 0отправлять через запятую значения, чтобы функционировать как один параметр
Expected behavior:
message TS6071: Successfully created a tsconfig.json file.
/home/seikho/node_modules/typescript/lib/tsc.js:36554
output += category + " TS" + diagnostic.code + ": " + flattenDiagnosticMessageText(diagnostic.messageText, host.getNewLine()) + host.getNewLine();
^
TypeError: Cannot read property 'getNewLine' of undefined
at Object.formatDiagnostics (/home/seikho/node_modules/typescript/lib/tsc.js:36554:124)
at reportDiagnosticSimply (/home/seikho/node_modules/typescript/lib/tsc.js:38582:25)
at writeConfigFile (/home/carl/npm/global/lib/node_modules/typescript/lib/tsc.js:39090:13)
at Object.executeCommandLine (/home/seikho/node_modules/typescript/lib/tsc.js:38711:13)
at Object.<anonymous> (/home/carl/npm/global/lib/node_modules/typescript/lib/tsc.js:39131:4)
at Module._compile (module.js:541:32)
at Object.Module._extensions..js (module.js:550:10)
at Module.load (module.js:458:32)
at tryModuleLoad (module.js:417:12)
at Function.Module._load (module.js:409:3)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Ошибка: | |
| .venvScriptsactivate : Невозможно загрузить файл C:pathvenvScriptsactivate.ps1, так как выполнение сценариев отключено в этой системе. | |
| Для получения дополнительных сведений см. about_Execution_Policies по адресу http://go.microsoft.com/fwlink/?LinkID=135170. | |
| строка:1 знак:1 | |
| .venvScriptsactivate | |
| ~~~~~~~~~~~~~~~~~~~~~~~ | |
| CategoryInfo : Ошибка безопасности: (:) [], PSSecurityException | |
| FullyQualifiedErrorId : UnauthorizedAccess | |
| Решение проблемы: | |
| — Открываем терминал PowerShell от админа. | |
| — Вставляем и запускаем — Set-ExecutionPolicy RemoteSigned | |
| — На вопрос отвечаем — A |
В настоящее время в каждую Windows предустановлен PowerShell.
PowerShell — это не только консоль предоставляющая доступ к утилитам командной строки, но и мощное средство администрирования и автоматизации. В PowerShell реализовано множество команд и функций, которые могут добавляться как модули устанавливаемым программным обеспечением.
PowerShell поддерживает как выполнение отдельных команд, так и пакетные файлы с набором команд, то есть скрипты. Эти скрипты можно назвать аналогами файлов .bat для оболочки CMD (которая, кстати, по-прежнему доступна в Windows).
Но при попытке запуска скрипта PowerShell вас, вероятно, ждёт неприятный сюрприз. К примеру, моя попытка выполнить файл PowerShell с расширением .ps1:
.Invoke-SMBClient.ps1
Эта команда вызвала ошибку:
.Invoke-SMBClient.ps1 : Невозможно загрузить файл C:UsersMiAlDownloadsInvoke-TheHash-ma
sterInvoke-SMBClient.ps1, так как выполнение сценариев отключено в этой системе. Для получе
ния дополнительных сведений см. about_Execution_Policies по адресу https:/go.microsoft.com/f
wlink/?LinkID=135170.
строка:1 знак:1
+ .Invoke-SMBClient.ps1
+ ~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : Ошибка безопасности: (:) [], PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess
Ключевой является информация:
Невозможно загрузить файл ....ps1, так как выполнение сценариев отключено в этой системе
Причина ошибки в том, что в системе Windows по умолчанию запрещено запускать пакетные файлы, скрипты PowerShell.
Как разрешить в Windows выполнение скриптов PowerShell
Проблема заключается в том, что политика выполнения скриптов запрещает выполнять эти самые скрипты. Узнать текущее значение политики можно командой:
Get-ExecutionPolicy
Для своей системы я получил значение:
Restricted
Чтобы разрешить выполнение файлов с расширением .ps1, то есть чтобы запустить скрипт PowerShell в Windows, выполните команду:
Set-ExecutionPolicy unrestricted
Когда поступит запрос, введите Y.
Данные команды нужно выполнять в PowerShell, а не в CMD.
Как запретить в Windows выполнение скриптов PowerShell
Чтобы вновь включить запрет на выполнение пакетных файлов в PowerShell достаточно выполнить команду:
Set-ExecutionPolicy Restricted
Опасно ли разрешать выполнение файлов со скриптами PowerShell в Windows?
При выполнении команды по изменению политика запуска скриптов каждый раз показывается сообщение:
Изменение политики выполнения Политика выполнения защищает компьютер от ненадежных сценариев. Изменение политики выполнения может поставить под угрозу безопасность системы, как описано в разделе справки, вызываемом командой about_Execution_Policies и расположенном по адресу https:/go.microsoft.com/fwlink/?LinkID=135170 . Вы хотите изменить политику выполнения? [Y] Да - Y [A] Да для всех - A [N] Н
Предупреждение кажется довольно страшным, но в самой справке, на которую дана ссылка, написано, что данная политика запрета запуска скриптов не является мерой безопасности, поскольку пользователь по-прежнему может выполнить команды одну за другой. Более того, у хакеров есть возможность обойти этот запрет и запустить скрипт даже при отключённой политике.
Как сказано в документации, это мера для предотвращения случайного выполнения скриптов PowerShell и случайных изменений.
То есть в целом изменение этой настройки не уменьшает уровень безопасности системы. Но если вы редко запускаете скрипты PowerShell, то можете установить уровень Restricted, то есть запрет выполнения сценариев.
Ошибка «»Set-ExecutionPolicy» не является внутренней или внешней командой, исполняемой программой или пакетным файлом»
Если при выполнении
C:Windowssystem32>Set-ExecutionPolicy unrestricted
вы получили ошибку
"Set-ExecutionPolicy" не является внутренней или внешней командой, исполняемой программой или пакетным файлом.
то это означает, что вы запускаете указанную команду в CMD (командная строка Windows), а не в PowerShell. Чтобы ошибка исчезла, откройте PowerShell и выполните команду там.
Смотрите также:
- Как установить PowerShell 7 в Windows 10
- Настройка рабочего окружения PowerShell в Windows и Linux
- Доступен новый Windows Terminal — он потрясающий
Связанные статьи:
- Не работает DNS через VPN в Windows 10 (РЕШЕНО) (94.4%)
- Windows 10: нет подключения к Интернету после подключения к VPN-серверу (РЕШЕНО) (94.4%)
- Ошибка ImageMagick в Windows: «magick: unable to open image »test’: No such file or directory @ error/blob.c/OpenBlob/3565. magick: no decode delegate for this image format `’ @ error/constitute.c/ReadImage/741.» (РЕШЕНО) (94.4%)
- Проигрыватель Windows не показывает или плохо показывает видео (РЕШЕНО) (81.1%)
- Ошибка «Файл слишком большой для файловой системы получателя» (РЕШЕНО) (81.1%)
- Как из-за задержки даже быстрое подключение к Интернету может казаться медленным (RANDOM — 9.1%)
Выдает ошибку, не могли бы помочь?
Есть код:
let gulp = require('gulp'),
sass = require('gulp-sass');
gulp.task('scss', function() {
return gulp.src('app/scss/**/*.scss')
.pipe(sass())
.pipe(gulp.dest('app/css'))
});
Выдает ошибку в консоли после прописания вот такого кода:
PS D:Программированиеgulp-start> gulp scss
gulp : Невозможно загрузить файл C:UsersProfessionalAppDataRoamingnpmgulp.ps1, так как выполнение сценариев отклю
чено в этой системе. Для получения дополнительных сведений см. about_Execution_Policies по адресу https:/go.microsoft.c
om/fwlink/?LinkID=135170.
строка:1 знак:1
+ gulp scss
+ ~~~~
+ CategoryInfo : Ошибка безопасности: (:) [], PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess
-
Вопрос заданболее двух лет назад
-
28421 просмотр
Решение проблемы:
Открываем терминал от админа.
Пишем и запускаем: Set-ExecutionPolicy RemoteSigned
На вопрос отвечаем: Да (Да для всех)
Пригласить эксперта
в пуске вводите PowerShell
далее правой кнопкой мыши запуск от имени администратора
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
Да (а именно Y)
и всё работает!
-
Показать ещё
Загружается…
29 янв. 2023, в 03:07
300000 руб./за проект
29 янв. 2023, в 02:16
700000 руб./за проект
29 янв. 2023, в 01:54
5000 руб./за проект
Минуточку внимания
При переносе этого блога на хостинг Firebase я столкнулся с ошибкой PowerShell, которая говорила о невозможности загрузки файла, из-за которой у меня отказывались работать инструменты firebase-tools.
Как оказалось, политикой выполнения скриптов по умолчанию запрещается выполнять скрипты. В заметке приводится решение.
PS C:_projectsivanscm.name> firebase init
firebase : Невозможно загрузить файл C:UsersivansAppDataRoamingnpmfirebase.ps1, так как выполнение сценариев откл
ючено в этой системе. Для получения дополнительных сведений см. about_Execution_Policies по адресу https:/go.microsoft.
com/fwlink/?LinkID=135170.
строка:1 знак:1
+ firebase init
+ ~~~~~~~~
+ CategoryInfo : Ошибка безопасности: (:) [], PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess
Выключение запрета выполнения сценариев
Для решения проблемы достаточно выполнить команду Set-ExecutionPolicy unrestricted и выбрать необходимую опцию. В моем случае я выбрал A(это небезопасно!), но можно и рекомендуется выбирать Y, что бы система каждый раз спрашивала разрешение на запуск скриптов.
PS C:_projectsivanscm.name> Set-ExecutionPolicy unrestricted
Изменение политики выполнения
Политика выполнения защищает компьютер от ненадежных сценариев. Изменение политики выполнения может поставить под
угрозу безопасность системы, как описано в разделе справки, вызываемом командой about_Execution_Policies и
расположенном по адресу https:/go.microsoft.com/fwlink/?LinkID=135170 . Вы хотите изменить политику выполнения?
[Y] Да - Y [A] Да для всех - A [N] Нет - N [L] Нет для всех - L [S] Приостановить - S [?] Справка
(значением по умолчанию является "N"):A
Включение запрета выполнения сценариев
Для включения запрета выполните Set-ExecutionPolicy Restricted.
Ознакомится подробнее можно в документации на сайте Microsoft.
- Remove From My Forums
-
Question
-
I’m trying to run a powershell script that access the VSTS API and it works ok if I run it in PowerShell ISE.
But I need to add the script as a task in the release process in VSTS and I’m getting
a security error. The error I got is:
AuthorizationManager check failed. CategoryInfo :
SecurityError: (:) [], PSSecurityException FullyQualifiedErrorId : UnauthorizedAccess
The script just get the work items from an specific build and then saves those
work items to a file like follows
function Invoke-ServiceGetBuilds($headers) { Invoke-RestMethod -Uri https://myaccount.visualstudio.com/DefaultCollection/My-Software/_apis/build/builds?api-version=2.0"&"minFinishTime=2016-12-01"&"buildNumber=master_*"&"resultFilter=succeeded -headers $headers -Method Get return $result } $username = "usr" $password = "pass*" $filePath = "file.html" $releaseName = "" $basicAuth = ("{0}:{1}" -f $username, $password) $basicAuth = [System.Text.Encoding]::UTF8.GetBytes($basicAuth); $basicAuth = [System.Convert]::ToBase64String($basicAuth) $headers = @{Authorization=("Basic {0}" -f $basicAuth)} $returnedBuilds = Invoke-ServiceGetBuilds $headers #...create the object and the array of workitems HTML ConvertTo-Html -body "<h2>Build Information and WI</h2> $workItemsHtml" -Title "Release Report" | Out-File $filePathThe script works well if I run it from PowerShell ISE but fails in VSTS Any idea on how to fix this issue
Luis Diego Rojas. http://icomparable.blogspot.com
MCP, MCTS Biztalk Server, MCTS WCF
-
Edited by
Thursday, December 8, 2016 6:18 PM
-
Edited by
- Remove From My Forums
-
Question
-
I’m trying to run a powershell script that access the VSTS API and it works ok if I run it in PowerShell ISE.
But I need to add the script as a task in the release process in VSTS and I’m getting
a security error. The error I got is:
AuthorizationManager check failed. CategoryInfo :
SecurityError: (:) [], PSSecurityException FullyQualifiedErrorId : UnauthorizedAccess
The script just get the work items from an specific build and then saves those
work items to a file like follows
function Invoke-ServiceGetBuilds($headers) { Invoke-RestMethod -Uri https://myaccount.visualstudio.com/DefaultCollection/My-Software/_apis/build/builds?api-version=2.0"&"minFinishTime=2016-12-01"&"buildNumber=master_*"&"resultFilter=succeeded -headers $headers -Method Get return $result } $username = "usr" $password = "pass*" $filePath = "file.html" $releaseName = "" $basicAuth = ("{0}:{1}" -f $username, $password) $basicAuth = [System.Text.Encoding]::UTF8.GetBytes($basicAuth); $basicAuth = [System.Convert]::ToBase64String($basicAuth) $headers = @{Authorization=("Basic {0}" -f $basicAuth)} $returnedBuilds = Invoke-ServiceGetBuilds $headers #...create the object and the array of workitems HTML ConvertTo-Html -body "<h2>Build Information and WI</h2> $workItemsHtml" -Title "Release Report" | Out-File $filePathThe script works well if I run it from PowerShell ISE but fails in VSTS Any idea on how to fix this issue
Luis Diego Rojas. http://icomparable.blogspot.com
MCP, MCTS Biztalk Server, MCTS WCF
-
Edited by
Thursday, December 8, 2016 6:18 PM
-
Edited by
-> Two machines installed with Windows 2k12 are configured as server and client.
-> On the server a share is exported with Full Access to Everyone.
-> On the client mounted the share and created a powershell script with entry as:
PS A:> type .demo.ps1
iozone.exe -a -s 8192 -+d
-> When I’m trying to run this script as a JOB and have selected «Run Once» also it errors out as:
PS C:UsersAdministrator> Start-Job -FilePath A:demo.ps1
Security warning
Run only scripts that you trust. While scripts from the internet can be useful, this script can potentially harm your
computer. Do you want to run A:demo.ps1?
[D] Do not run [R] Run once [S] Suspend [?] Help (default is «D»): R
Start-Job : File A:demo.ps1 cannot be loaded because you have elected to not run this software now.
At line:1 char:1
+ Start-Job -FilePath A:demo.ps1
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : SecurityError: (:) [Start-Job], PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess,Microsoft.PowerShell.Commands.StartJobCommand
-> Execution policy on the machines are:
PS C:UsersAdministrator> Get-ExecutionPolicy -list
Scope
ExecutionPolicy
——
—————
MachinePolicy
Undefined
UserPolicy
Undefined
Process
Undefined
CurrentUser
Unrestricted
LocalMachine
Unrestricted
По-умолчанию настройки Windows запрещают запуск скриптов PowerShell. Это необходимо для предотвращения запуска вредоносного кода на PowerShell. Настройки политик запуска PowerShell скриптов определяются в Execution Policy. В этой статье мы рассмотрим доступные политики запуска PS скриптов, как изменить Execution Policy и настроить политики использования PowerShell скриптов на компьютерах в домене.
Содержание:
- Выполнение PowerShell скриптов запрещено для данной системы
- Как разрешить запуск скриптов PowerShell с помощью Execution Policy?
- Настройка PowerShell Execution Policy с помощью групповых политик
- Способы обхода политики PowerShell Execution
Выполнение PowerShell скриптов запрещено для данной системы
При попытке выполнить PowerShell скрипт (файл с расширением PS1) на чистой Windows 10, появляется ошибка:
File C:ps.ps1 cannot be loaded because running scripts is disabled on this system. For more information, see about_Execution_Policies at https:/go.microsoft.com/fwlink/?LinkID=135170. + CategoryInfo : SecurityError: (:) [], PSSecurityException + FullyQualifiedErrorId : UnauthorizedAccess
Не удается загрузить файл.ps1, так как выполнение скриптов запрещено для данной системы.

Текущее значение политики выполнения скриптов PowerShell на компьютере можно получить командой:
Get-ExecutionPolicy

Доступны следующие значения PowerShell Execution Policy:
- Restricted – запрещен запуск скриптов PowerShell, можно выполнять только интерактивные команды в консоли;
- AllSigned – разрешено выполнять только подписанные PS скрипты с цифровой подписью от доверенного издателя (можно подписать скрипт самоподписанным сертификатом и добавить его в доверенные). При запуске недоверенных скриптов появляется предупреждение:
Do you want to run software from this untrusted publisher? File .ps1 is published by CN=test1 and is not trusted on your system. Only run scripts from trusted publishers

- RemoteSigned – можно запускать локальные PowerShell скрипты без ограничения. Можно запускать удаленные PS файлы с цифровой подписью (нельзя запустить PS1 файлы, скачанные из Интернета, запущенные из сетевой папки по UNC пути и т.д.);
- Unrestricted – разрешен запуск всех PowerShell скриптов;
При запуске сторонних PowerShell скриптов может появляется предупреждение с подтверждением запуска, см. ниже.
- Bypass – разрешён запуск любых PS файлов (предупреждения не выводятся) – эта политика обычно используется для автоматического запуска PS скриптов без вывода каких-либо уведомлений (например при запуске через GPO, SCCM, планировщик и т.д.) и не рекомендуется для постоянного использования;
- Default – сброс настроек выполнения скриптов на стандартную;
В Windows 10 значение политики выполнения PowerShell по-умолчанию Restricted, а в Windows Server 2016 — RemoteSigned.
- Undefined – не задано. Применяется политика Restricted для десктопных ОС и RemoteSigned для серверных.
Как разрешить запуск скриптов PowerShell с помощью Execution Policy?
Чтобы изменить текущее значение политики запуска PowerShell скриптов, используется командлет Set-ExecutionPolicy.
Например, разрешим запуск локальных скриптов:
Set-ExecutionPolicy RemoteSigned
Подтвердите изменение политики запуска PS1 скриптов, нажав Y или A.

Чтобы запрос не появлялся, можно использовать параметр Force.
Set-ExecutionPolicy RemoteSigned –Force
Если вы установили значение политики PowerShell Execution Policy в Unrestricted, то при запуске удаленных скриптов из сетевых каталогов по UNC пути, скачанных из интернета файлов, все равно будет появляться предупреждение:
Security warning Run only scripts that you trust. While scripts from the internet can be useful, this script can potentially harm your computer. If you trust this script, use the Unblock-File cmdlet to allow the script to run without this warning message. Do you want to run? [D] Do not run [R] Run once [S] Suspend [?] Help (default is "D")

Как PowerShell различает локальные и удаленные скрипты? Все дело в идентификаторе зоны ZoneId, которую выставляет браузер в альтернативном потоке при загрузке файла (см. статью “Как Windows определяет, что файл скачан из Интернета?”). Вы можете разблокировать такой файл, поставив галку “Разблокирвать” в его свойствах или очиститься метку зоны с помощью комадлета Unblock-File.
Также следует различать различные области действия политик выполнения скриптов PowerShell (scopes):
- MachinePolicy – действует для всех пользователей компьютера, настраивается через GPO;
- UserPolicy – действует на пользователей компьютера, также настраивается через GPO;
- Process — настройки ExecutionPolicy действует только для текущего сеанса PowerShell.exe (сбрасываются при закрытии процесса);
- CurrentUser – политика ExecutionPolicy применяется только к текущему пользователю (параметр из ветки реестра HKEY_CURRENT_USER);
- LocalMachine – политика для всех пользователей компьютера (параметр из ветки реестра HKEY_LOCAL_MACHINE);
Область применения политики можно указать с помощью параметр Scope командлета Set-ExecutionPolicy. Например:
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass –Force
Проверим текущие настройки ExecutionPolicy для всех областей:
Get-ExecutionPolicy -List
Scope ExecutionPolicy ----- --------------- MachinePolicy Undefined UserPolicy Undefined Process Bypass CurrentUser Undefined LocalMachine RemoteSigned

Значение политики выполнения, которые вы задаете с помощью командлета Set-ExecutionPolicy для областей CurrentUser и LocalMachine, хранятся в реестре. Например, выполните командлет:
Set-ExecutionPolicy -Scope LocalMachine -ExecutionPolicy Restricted –Force
Откройте ветку реестра HKEY_LOCAL_MACHINESOFTWAREMicrosoftPowerShell1ShellIdsMicrosoft.PowerShell и проверьте значение REG_SZ параметра ExecutionPolicy. Оно изменилось на Restricted (допустимые значения параметра Restricted, AllSigned, RemoteSigned, Bypass, Unrestricted и Undefined).

Аналогичные настройки для области CurrentUser находятся в разделе реестра пользователя HKEY_CURRENT_USERSOFTWAREMicrosoftPowerShell1ShellIdsMicrosoft.PowerShell.
Отметим, что чаще всего в корпоративной среде используется ExecutionPolicy со значением AllSigned на уровне LocalMachine. Это обеспечивает максимальный баланс между безопасностью и удобством. Для личного пользования на компьютере можно использовать RemoteSigned. Ну а Bypass политику лучше использовать только для запуска отдельных задач (например для запуска скриптов через GPO или заданий планировщика).
Настройка PowerShell Execution Policy с помощью групповых политик
Вы можете настроить политику выполнения PowerShel скриптов на серверах или компьютерах домена с помощью групповых политик.
- С помощью редактора доменных GPO (gpmc.msc) создайте новую GPO (или отредактируйте) существующую и назначьте ее на OU с компьютерами, к которым нужно применить политику запуска PowerShell скриптов;
- В редакторе политики перейдите в раздел Computer Configuration -> Policies -> Administrative Templates -> Windows Components -> Windows PowerShell и найдите политику Turn on Script Execution (Включить выполнение сценариев);
Аналогичная политика есть в пользовательском разделе GPO — User Configuration, но политика компьютера имеет приоритет.
- Для политики доступны три значения:
- Allow only signed scripts (Разрешать только подписанные сценарии) — соответствует политике AllSigned;
- Allow local scripts and remote signed scripts (Разрешать локальные и удаленные подписанные сценарии) — соответствует политике PS RemoteSigned;
- Allow all scripts (Разрешать все сценарии) — политика Unrestricted.

- Выберите необходимое значение политики, сохраните GPO и обновите политики на компьютере.
- Проверьте, что для области MachinePolicy теперь действуют новые настройки выполнения.

После настройки политики выполнения через GPO вы не сможете изменить настройки политики выполнения скриптов вручную. При попытке изменить настройки Execution Policy на компьютере, на который применяется такая GPO, появится ошибка:
Set-ExecutionPolicy : Windows PowerShell updated your execution policy successfully, but the setting is overridden by a policy defined at a more specific scope. Due to the override, your shell will retain its current effective execution policy of RemoteSigned. Type "Get-ExecutionPolicy -List" to view your execution policy settings.

Способы обхода политики PowerShell Execution
Есть несколько трюков, которые могут помочь вам, когда нужно запустить на компьютере PowerShell скрипт, не изменяя настройки политики выполнения. Например, я хочу запустить простой PS1 скрипт, который поверяет, что запущен с правами администратора.
Можно с помощью Get-Content получить содержимое скрипта и перенаправить его в стандартныq поток ввода консоли PS.
Get-Content c:pscheck_process_elevation.ps1 | PowerShell.exe -noprofile –
Либо можно запустить новый процесс powershell.exe с политикой выполнения Bypass:
powershell.exe -noprofile -executionpolicy bypass -file c:pscheck_process_elevation.ps1

If you are receiving error similar to :
[...] cannot be loaded. The file [...] is not digitally signed. You cannot run this
script on the current system. For more information about running scripts and setting execution policy, see about_Execution_Policies at
https:/go.microsoft.com/fwlink/?LinkID=135170.
At line:1 char:1
+ vaah cms:t
+ ~~~~
+ CategoryInfo : SecurityError: (:) [], PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess
Enter fullscreen mode
Exit fullscreen mode
Simply run following command in the phpstorm terminal:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
Enter fullscreen mode
Exit fullscreen mode
All DEV content is created by the community!
Hey, if you’re landing here for the first time, you should know that this website is a global community of folks who blog about their experiences to help folks like you out.