PowerShell: AuthorizationManager check failed

В VSCode не работает проверка кода, выравнивание, а также в строке статуса постоянно вращается индикатор занятости, как будто какой-то из процессов всё ещё не закончил работу. При попытке вызвать форматирование текста, появляется ошибка «There is no formatter for ‘powershell’ files installed».

Открыв консоль, я увидел сообщение о необходимости подтвердить доверие текущему издателю:

Do you want to run software from this untrusted publisher?

File C:\Users\Denis\.vscode\extensions\ms-vscode.powershell-2022.12.1\modules\PSReadLine\2.2.6\PSReadLine.format.ps1xml 
is published by CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US
 and is not trusted on your system. Only run scripts from trusted publishers.
[V] Never run  [D] Do not run  [R] Run once  [A] Always run  [?] Help (default is "D"): a

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

Дело в том, что на компьютере включены политики, запрещающие выполнение неподписанных скриптов. Этот вроде как и подписан и я ему «доверился», но почему-то первый мой ответ не запомнился и издатель не поместился в список доверенных.

Тогда я попытался запустить любой файл этого издателя напрямую из консоли PowerShell:

 C:\Users\denis\.vscode\extensions\ms-vscode.powershell-2022.12.1\modules\PowerShellEditorServices\Commands\Public> .\Test-ScriptExtent.ps1

Do you want to run software from this untrusted publisher?
File
C:\Users\denis\.vscode\extensions\ms-vscode.powershell-2022.12.1\modules\PowerShellEditorServices\Commands\Public\Test-
ScriptExtent.ps1 
is published by CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US
 and is not trusted on your system. Only run scripts from trusted publishers.
[V] Never run  [D] Do not run  [R] Run once  [A] Always run  [?] Help (default is "D"): a
.\Test-ScriptExtent.ps1 : AuthorizationManager check failed.
At line:1 char:1
+ .\Test-ScriptExtent.ps1
+ ~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : SecurityError: (:) [], PSSecurityException
    + FullyQualifiedErrorId : UnauthorizedAccess

Опять не сработало, тогда я попробовал добавить издателя через Проводник:
1. В проводнике найти нужный файл, нажать ПКМ и выбрать Свойства
2. PropertiesDigital SignaturesMicrosoft CorporationDetailsView CertificateInstall Certificate
3. В качестве хранилища выбираем локальный комп:

Store location = Local Machine

4. Помещаем его в раздел Trusted Publishers

Теперь при включенной групповой политике все скрипты расширения работают и весь функционал доступен!

Может кто знает, как всё это сделать без GUI через PowerShell? Пишите в комментарии или Telegram.

 



Подписаться
Уведомление о
guest
0 Комментарий
Oldest
Newest Most Voted
Inline Feedbacks
View all comments