2016-07-26 3 views
2

я вдруг начал recceive этого предупреждения при запуске любого скрипта на моем компьютере:Предупреждения безопасности при выполнении сценариев - Разблокирование-файл не разблокирование файла

Run только скрипты, которым вы доверяете. В то время как сценарии из Интернета может быть полезным, этот сценарий может потенциально нанести вред вашему компьютеру ...

Скриншот:

Powershell Security Warning

файлы не заблокированы.

У меня есть

  • проверил в File Explorer> Свойства.
  • использовал командлет Unblock-File, чтобы разблокировать.
  • проверенные потоки с использованием командлета: Get-Content -Path '\\Path\Script.ps1' -Stream Zone.Identifier. Никаких потоков не найдено.
  • использовать Streams.exe от Sysinternals: streams.exe -d \\Path\Script.ps1. Файлы с потоками не найдены.

также попытался удалить потоки с Powershell:

Remove-Item -Path \\Path\Script.ps1 -Stream Zone.Identifier 

Конечно, без успеха, поскольку нет никаких потоков.

Политика исполнения не ограничена.

Когда я запускаю Set-ExecutionPolicy Bypass, он работает без предупреждения. Он должен также работать, когда он неограничен.

Я честно не знаю, что происходит.

+0

Имеется ли сценарий на сетевом диске? –

ответ

0

После поиска я нашел кого-то с подобными проблемами, и это было объяснено, что классический UNC пути будут работать без запроса к разблокированию файлу

(например, \ ServerName \ Path ...)

Однако пути FQDN по умолчанию не считаются безопасными и будут запрашиваться.

(например, \ Servername.foo.local \ Path ...)

Мое собственное тестирование подтверждает, что это правильно, как удаление .foo.local с пути вызывает Unblock- Запросы файла останавливаются.

0

LGPE> gpedit.msc

Конфигурация компьютера> Административные шаблоны,> Компоненты Windows,> Internet Explorer> расширение Internet Control Panel. Страница безопасности> Интранет-сайты. Включите все локальные (интрасети) сайты, не перечисленные в других зонах, и нажмите «Свойства». Нажмите «Включено».

Включите автоматическое обнаружение интрасети и нажмите «Свойства». Нажмите Отключено, а затем нажмите кнопку ОК.

или реестра

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\"UNCAsIntranet" = "0" 
+0

Вчера редактировал раздел реестра, но никаких изменений. Просто попробовал метод gpedit, перезагрузил, но все тот же вопрос. – ATur

-2

PS оленья кожа позволяет выполнять скрипты на системы ENV по умолчанию. вам необходимо установить политику в неограниченное или удаленном подписанном Использования: Set-ExecutionPolicy RemoteSigned ИЛИ Set-ExecutionPolicy Неограниченные

Открыть PS консоль и введите это и нажмите клавишу ВВОД, а затем попробуйте запустить скрипт.

+1

он говорит, что политика исполнения не ограничена, это означает отсутствие ограничений; все сценарии Windows PowerShell могут быть запущены. https://technet.microsoft.com/en-us/library/ee176961.aspx – DisplayName

+0

Моя политика выполнения не ограничена. При изменении политики выполнения на обход я больше не получаю предупреждение. Он также должен работать, когда он не ограничен. – ATur

+0

поэтому установка обхода политики выполнения исправила проблему только на текущей сессии или всего? – DisplayName