Перейти к содержимому

Как включить выполнение сценариев в pycharm python

  • автор:

Как запустить скрипт на Python

Начинающий разработчик на Python, помимо синтаксиса и основных правил использования операторов этого языка, должен уметь запускать код на исполнение. Ведь только так можно понять, работает ли написанный вами скрипт, или в нем содержатся ошибки. Рассмотрим подробнее, как можно запустить скрипты в терминале операционной системы, в интегрированной среде разработки или просто из интерфейса ОС. Это позволит вам выбрать подходящий вариант и повысить эффективность своей работы.

Интерпретатор Python

Рассматриваемый язык программирования является одним из самых прогрессивных на текущий момент. Он позволяет быстро и эффективно решать задачи в самых разных областях. Однако под термином Python понимают также интерпретатор, то есть программу на компьютере, которая позволяет запускать на исполнение написанные скрипты. Она представляет собой дополнительный программный слой между аппаратным обеспечением ПК и кодом.

Существует несколько интерпретаторов:

  • написанные на языке программирования С;
  • написанные на языке программирования Java;
  • написанные на языке Python;
  • программы, реализованные в среде .NET.

Выбор конкретного варианта для конечного пользователя значения не имеет. Независимо от вида программы, написанный код будет выполняться именно так, как предусмотрено правилами этого языка.

Запуск возможен двумя способами: как готовая к использованию программная последовательность (скрипт или модуль) или как отдельные куски кода, которые вводятся прямо в окно программы.

Интерактивный запуск кода

Для тестирования отдельных команд можно использовать интерпретатор в режиме интерактивного сеанса. Для этого необходимо открыть командную строку операционной системы и ввести команду, которая запускает интерпретатор.

Для ОС Linux это будет выглядеть следующим образом:

$ python3 Python 3.6.7 (default, Oct 22 2018, 11:32:17) [GCC 8.2.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> 

Теперь можно вводить команды, которые будут выполняться сразу после этого. Минус подобного подхода в том, что вся введенная последовательность не сохраняется после закрытия текущей сессии.

Интерактивное исполнение кода необходимо для того, чтобы немедленно протестировать фрагмент написанного кода. Кроме того, его можно использовать в процессе обучения для проверки действий тех или иных операторов «на лету». Этот способ интерпретации команд позволяет попробовать нужные вам функции языка, не прибегая к написанию отдельных скриптов для этого.

Выйти из интерактивного режима можно с помощью команды quit(), или просто закрыв окно терминала в Windows.

Для открытия терминала или командной строки перед запуском самого интерпретатора необходимо:

  • В Windows нажать комбинацию клавиш «Флажок» + «R», после чего ввести команду cmd и нажать на кнопку «ОК» в диалоговом окне.
  • В Linux или других подобных операционных системах доступ к командной строке предоставляется с помощью дополнительной программы. Можно использовать xterm или Konsole.
  • В macOS для получения доступа к терминалу необходимо выбрать меню «Приложения», после чего перейти в раздел «Утилиты» и кликнуть на элементе «Терминал».

Как работает интерпретатор Python для скриптов

Запуск на исполнение написанных скриптов или модулей производится в пакетном режиме. И выполняется по сложной схеме, которая состоит из следующих этапов:

  1. Последовательная обработка всех операторов, которые записаны в скрипте.
  2. Компиляция исходного хода в промежуточный формат. Интерпретатор создает байт-код, который представляет собой язык программирования низкого уровня, независимый от платформы и операционной системы. Байт-код необходим для оптимизации процесса выполнения скрипта.
  3. Исполнение полученного кода. На этом этапе вступает в действие виртуальная машина Python (PVM), которая циклично перебирает каждый оператор из скрипта и запускает его на исполнение. Как будто вы вводите каждую команду последовательно в интерактивном интерпретаторе.

Запуск скриптов в командной строке

В интерактивном режиме, который обсуждался выше, можно записывать и выполнять любое количество строк кода. Но после закрытия окна терминала они не сохраняются. Поэтому реальные программы на Python пишутся в виде скриптов и представляют собой обычные текстовые файлы. Чтобы избежать путаницы при их хранении, им присваиваются расширения .py или .piw.

Создавать текстовый файл можно с помощью любого редактора, в том числе Notepad. Однако лучше использовать более продвинутые решения, например Sublime Text. Для примера возьмем наиболее простой скрипт, с которого начинается знакомство с любым языком программирования.

#!/usr/bin/env python3 print('Hello World!') 

Файл можно сохранить в вашем рабочем каталоге с любым именем и расширением .py.

Чтобы запустить скрипт на исполнение, нужно использовать интерпретатор языка программирования и в качестве дополнительного параметра указать имя созданного вами файла.

$ python3 hello.py Hello World! 

В приведенном выше примере файл был назван «hello.py». После ввода команды нужно нажать клавишу «Ввод», и на экране появится результат работы скрипта. То есть надпись «Привет, Мир» или классическое английское «Hello World»!

Если файл с программой сохранен не в каталоге с интерпретатором, нужно указывать путь к нему.

Переназначение устройства вывода информации

При исполнении программного кода на Python иногда необходимо сохранять результаты, которые отображает на экране программа. Они в дальнейшем анализируются для поиска ошибок или других целей. В этом случае скрипт необходимо запускать следующей командой:

$ python3 hello.py > output.txt 

По результатам работы скрипта создается файл с именем output.txt, в который сохраняется все то, что должно было появиться на экране во время работы в программе. Это стандартный синтаксис, предусмотренный операционной системой.

Если файла с заданным именем не существует, ОС создает его автоматически. Если существует – данные в нем перезаписываются без сохранения предыдущих. В случае, когда есть необходимость в добавлении данных в конец текстового файла, вместо одного значка > необходимо указать два >>.

Прокачать навык программирования на Python и найти работу Junior Python разработчика помогут наши менторы Выбрать ментора

Запуск из командной строки без интерпретатора

В последних версиях операционной системы Windows добавлена возможность запускать скрипты на Python без ввода в командной строке названия программы-интерпретатора. То есть необходимо просто написать название файла с расширением.

C:\devspace> hello.py Hello World! 

Обусловлено это тем, что при клике на файле или запуске его из командной строки операционная система автоматически ищет связанное приложение и запускает его. Точно так же вы открываете файлы Word, просто кликнув на них курсором мыши.

В Unix таким образом тоже можно запускать скрипты. Однако для этого в первую строку текстового файла с командами необходимо добавить текст #!/Usr/bin/env python. Он указывает на программу, с помощью которой производится запуск. А интерпретатор языка программирования расценивает строку как комментарий и пропускает её.

Запуск скриптов из интерактивного режима

Находясь в интерактивном режиме (описан в первом разделе), пользователь может загрузить файл с написанной ранее последовательностью команд и запустить его на исполнение. Такой способ можно применять, когда модуль содержит вызовы функций, методов или других операторов, генерирующих текст на экране. В противном случае видимых результатов работы программы не будет.

Запустить скрипт из интерактивного режима можно командой:

>>> import hello Hello World! 

Обратите внимание, что эта команда срабатывает один раз за интерактивный сеанс. Поэтому, если внести изменения в файл со скриптом и перезапустить его этой командой, ничего не произойдет.

Заключение

Теперь вы знаете, что команды и скрипты Python можно запускать разными способами и в разных режимах. Это позволит вам выбрать нужный вариант для решения конкретной задачи, увеличить скорость своей работы, сделать ее продуктивной и гибкой.

© Copyright 2014 — 2024 mkdev | Privacy Policy

Настройка клиента обработки и анализа данных для разработки на Python в службах машинного обучения SQL Server

Интеграция Python доступна в SQL Server 2017 и более поздних версиях, если включить параметр для Python во время установки служб машинного обучения (в базе данных).

В настоящее время эта статья относится только к SQL Server 2016 (13.x), SQL Server 2017 (14.x), SQL Server 2019 (15.x) и SQL Server 2019 (15.x) и только для Linux.

Чтобы разрабатывать и развертывать решения Python для SQL Server, установите библиотеку Майкрософт revoscalepy и другие библиотеки Python для рабочей станции разработки. Библиотека revoscalepy, которая также находится на удаленном экземпляре SQL Server, координирует вычислительные запросы между обеими системами.

Из этой статьи вы узнаете, как настроить рабочую станцию разработки на Python, чтобы вы могли взаимодействовать с удаленным сервером SQL Server, на котором включены машинное обучение и интеграция Python. После выполнения действий, описанных в этой статье, у вас будут те же библиотеки Python, что и на сервере SQL Server. Вы также узнаете, как отправлять вычисления из локального сеанса Python в удаленный сеанс Python на сервере SQL Server.

Компоненты клиент-сервер

Чтобы проверить установку, можно использовать встроенное приложение Jupyter Notebook, как описано в этой статье, или связать библиотеки с PyCharm или любой другой интегрированной средой разработки, которой вы обычно пользуетесь.

Часто используемые инструменты

Независимо от того, являетесь ли вы разработчиком Python, который мало знаком с SQL, или разработчиком SQL, который мало знаком с Python и анализом данных в базе данных, для использования всех возможностей анализа баз данных вам потребуется как средство разработки Python, так и редактор запросов T-SQL, например SQL Server Management Studio (SSMS).

Для разработки на Python можно использовать приложение Jupyter Notebook, которое входит в дистрибутив Anaconda, устанавливаемый SQL Server. В этой статье объясняется, как запустить Jupyter Notebook, чтобы можно было выполнять код Python локально и удаленно на SQL Server.

Набор средств SSMS необходимо скачать отдельно. Он подходит для создания и выполнения хранимых процедур в SQL Server, в том числе процедур, содержащих код Python. Практически любой код Python, написанный в Jupyter Notebook, можно внедрять в хранимые процедуры. Вы можете ознакомиться с другими пошаговыми руководствами, чтобы получить дополнительные сведения об SSMS и внедрении кода Python.

1. Установка пакетов Python

На локальных рабочих станциях должны быть установлены те же версии пакетов Python, что и в SQL Server, включая базовый дистрибутив Anaconda 4.2.0 с Python 3.5.2, а также пакеты Майкрософт.

Сценарий установки добавляет в клиент Python три библиотеки Майкрософт в клиент Python. Скрипт устанавливает:

  • revoscalepy, используемую для определения объектов источника данных и контекста вычислений.
  • microsoftml, предоставляющую алгоритмы машинного обучения.
  • azureml, который применяется к задачам внедрения, связанным с контекстом отдельного сервера, и использование этого пакета для анализа баз данных может быть ограничено.
  • https://aka.ms/mls-py устанавливает версию 9.2.1 пакетов Python Майкрософт. Эта версия соответствует экземпляру SQL Server по умолчанию.
  • https://aka.ms/mls93-py устанавливает версию 9.3 пакетов Python Майкрософт.
cd > .\Install-PyForMLS.ps1 -InstallFolder "C:\path-to-python-for-mls" 

Если вы не указали папку установки, по умолчанию используется %ProgramFiles%\Microsoft\PyForMLS .

Для выполнения установки требуется некоторое время. Ход выполнения можно отслеживать в окне PowerShell. После завершения установки вы получите полный набор пакетов.

Общие сведения о запуске программ Python в Windows см. в разделе Часто задаваемые вопросы по Python для Windows.

2. Обнаружение исполняемых файлов

Оставаясь в окне PowerShell, выведите список файлов в папке установки, чтобы убедиться, что файл Python.exe, сценарии и другие пакеты установлены.

Список исполняемых файлов Python

  1. Введите cd \ , чтобы перейти к корневому каталогу диска, а затем введите путь, указанный для -InstallFolder на предыдущем шаге. Если этот параметр не был указан во время установки, по умолчанию используется cd %ProgramFiles%\Microsoft\PyForMLS .
  2. Введите dir *.exe , чтобы получить список исполняемых файлов. Вы должны увидеть исполняемые файлы python.exe, pythonw.exe и uninstall-anaconda.exe.

В системах с несколькими версиями Python не забывайте использовать этот конкретный файл Python.exe, если необходимо загрузить revoscalepy и другие пакеты Майкрософт.

Сценарий установки не изменяет переменную среды PATH на компьютере. Это означает, что новые интерпретаторы Python и модули, которые вы только что установили, не будут автоматически доступны для других инструментов. Справку по связыванию интерпретатора Python и библиотек с инструментами см. в разделе Установка интегрированной среды разработки.

3. Открытие Jupyter Notebook

Приложение Jupyter Notebook входит в состав дистрибутива Anaconda. В качестве следующего шага создайте записную книжку и выполните какой-нибудь код Python, в котором используются только что установленные библиотеки.

    В командной строке PowerShell, по-прежнему находясь в каталоге %ProgramFiles%\Microsoft\PyForMLS , откройте приложение Jupyter Notebook из папки Scripts:

.\Scripts\jupyter-notebook 

Записная книжка Jupyter с выбранными пунктами

Должна открыться записная книжка в браузере по умолчанию по адресу https://localhost:8889/tree . Другой способ запуска — дважды щелкнуть файл jupyter-notebook.exe.

  • Выберите Создать, а затем выберите Python 3.
  • Введите и выполните команду import revoscalepy , чтобы загрузить одну из библиотек Майкрософт.
  • Введите и выполните команду print(revoscalepy.__version__) , чтобы получить сведения о версии. Вы должны увидеть версию 9.2.1 или 9.3.0. Вы можете использовать любую из этих версий с библиотекой revoscalepy на сервере.
  • Введите более сложную последовательность инструкций. В этом примере формируется сводная статистика для локального набора данных с помощью метода rx_summary. Другие функции получают расположение демонстрационных данных и создают объект источника данных для локального XDF-файла.

    import os from revoscalepy import rx_summary from revoscalepy import RxXdfData from revoscalepy import RxOptions sample_data_path = RxOptions.get_option("sampleDataDir") print(sample_data_path) ds = RxXdfData(os.path.join(sample_data_path, "AirlineDemoSmall.xdf")) summary = rx_summary("ArrDelay+DayOfWeek", ds) print(summary) 

    На следующем снимке экрана показаны входные и выходные данные (выходные данные обрезаны для краткости).

    Записная книжка Jupyter с входными и выходными данными revoscalepy

    4. Получение разрешений SQL

    Чтобы подключиться к экземпляру SQL Server для выполнения сценариев и передачи данных, необходимо иметь допустимое имя входа на сервере базы данных. Можно использовать либо имя входа SQL, либо встроенную проверку подлинности Windows. Обычно рекомендуется использовать встроенную проверку подлинности Windows, но в некоторых случаях проще использовать имя входа SQL, особенно если сценарий содержит строки подключения к внешним данным.

    У учетной записи, используемой для выполнения кода, должно быть разрешение на чтение для баз данных, с которыми вы работаете, а также специальное разрешение EXECUTE ANY EXTERNAL SCRIPT. Большинству разработчиков также требуются разрешения на создание хранимых процедур и на запись данных в таблицы, содержащие данные обучения или данные оценки.

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

    • EXECUTE ANY EXTERNAL SCRIPT для запуска Python на сервере.
    • Привилегии db_datareader для выполнения запросов, используемых для обучения модели.
    • db_datawriter для записи данных обучения и данных оценки.
    • db_owner для создания таких объектов, как хранимые процедуры, таблицы и функции. Разрешение db_owner также потребуется для создания примеров баз данных и тестовых баз данных.

    Если для кода требуются пакеты, которые по умолчанию не установлены в SQL Server, обратитесь к администратору базы данных, чтобы установить необходимые пакеты. SQL Server представляет собой защищенную среду, и существуют ограничения на места установки пакетов. Нерегламентированная установка пакетов в составе вашего кода не рекомендуется, даже если у вас есть необходимые разрешения. Также тщательно оцените влияние на безопасность сервера перед установкой новых пакетов в библиотеку сервера.

    5. Создание тестовых данных

    Если у вас есть разрешения на создание базы данных на удаленном сервере, можно выполнить следующий код, чтобы создать демонстрационную базу данных «Ирисы Фишера», которая будет использоваться для выполнения оставшихся действий в этой статье.

    5-1. Удаленное создание базы данных irissql

    import pyodbc # creating a new db to load Iris sample in new_db_name = "irissql" connection_string = "Driver=SQL Server;Server=localhost;Database=;Trusted_Connection=Yes;" # you can also swap Trusted_Connection for UID=;PWD= cnxn = pyodbc.connect(connection_string.format("master"), autocommit=True) cnxn.cursor().execute("IF EXISTS(SELECT * FROM sys.databases WHERE [name] = '') DROP DATABASE ".format(new_db_name)) cnxn.cursor().execute("CREATE DATABASE " + new_db_name) cnxn.close() print("Database created") 

    5-2. Импорт примера «Ирисы Фишера» из SkLearn

    from sklearn import datasets import pandas as pd # SkLearn has the Iris sample dataset built in to the package iris = datasets.load_iris() df = pd.DataFrame(iris.data, columns=iris.feature_names) 

    5-3. Использование API-интерфейсов Revoscalepy для создания таблицы и загрузки данных «Ирисы Фишера»

    from revoscalepy import RxSqlServerData, rx_data_step # Example of using RX APIs to load data into SQL table. You can also do this with pyodbc table_ref = RxSqlServerData(connection_string=connection_string.format(new_db_name), table="iris_data") rx_data_step(input_data = df, output_file = table_ref, overwrite = True) print("New Table Created: Iris") print("Sklearn Iris sample loaded into Iris table") 

    6. Проверка удаленного подключения

    Перед выполнением следующего шага убедитесь, что у вас есть разрешения на экземпляр SQL Server и строка подключения к демонстрационной базе данных «Ирисы Фишера». Если база данных не существует и у вас есть необходимые разрешения, можно создать базу данных, используя следующие встроенные инструкции.

    Замените значения параметров в строке подключения на соответствующие значения параметров для вашей среды. В примере кода используется строка подключения «Driver=SQL Server;Server=localhost;Database=irissql;Trusted_Connection=Yes;» , но в вашем коде необходимо указать удаленный сервер, возможно, с именем экземпляра и параметр учетных данных, который сопоставляется с именем входа базы данных.

    6-1. Определение функции

    В следующем коде определяется функция, которая будет отправлена на сервер SQL Server на более позднем шаге. При выполнении этого кода он использует данные и библиотеки (revoscalepy, pandas, matplotlib) на удаленном сервере для создания точечных диаграмм для набора данных «Ирисы Фишера». Этот код возвращает байтовый поток из файла PNG обратно в Jupyter Notebook для отображения в браузере.

    def send_this_func_to_sql(): from revoscalepy import RxSqlServerData, rx_import from pandas.tools.plotting import scatter_matrix import matplotlib.pyplot as plt import io # remember the scope of the variables in this func are within our SQL Server Python Runtime connection_string = "Driver=SQL Server;Server=localhost;Database=irissql;Trusted_Connection=Yes;" # specify a query and load into pandas dataframe df sql_query = RxSqlServerData(connection_string=connection_string, sql_query = "select * from iris_data") df = rx_import(sql_query) scatter_matrix(df) # return bytestream of image created by scatter_matrix buf = io.BytesIO() plt.savefig(buf, format="png") buf.seek(0) return buf.getvalue() 

    6-2. Отправка функции в SQL Server

    В этом примере создается удаленный контекст вычислений, и выполнение функции отправляется на сервер SQL Server с помощью rx_exec. Функция rx_exec удобна, так как она принимает контекст вычислений в качестве аргумента. Любая функция, которую требуется выполнить удаленно, должна принимать контекст вычислений в качестве аргумента. Некоторые функции, например rx_lin_mod, поддерживают этот аргумент напрямую. Для операций, которые не принимают этот аргумент, можно использовать rx_exec для доставки кода в удаленный контекст вычислений.

    В этом примере необработанные данные из SQL Server в Jupyter Notebook не передаются. Все вычисления выполняются в базе данных «Ирисы Фишера», и клиенту возвращается только файл изображения.

    from IPython import display import matplotlib.pyplot as plt from revoscalepy import RxInSqlServer, rx_exec # create a remote compute context with connection to SQL Server sql_compute_context = RxInSqlServer(connection_string=connection_string.format(new_db_name)) # use rx_exec to send the function execution to SQL Server image = rx_exec(send_this_func_to_sql, compute_context=sql_compute_context)[0] # only an image was returned to my jupyter client. All data remained secure and was manipulated in my db. display.Image(data=image) 

    На следующем снимке экрана показаны входные данные и выходные данные в виде точечной диаграммы.

    Записная книжка Jupyter с выходными данными в виде точечной диаграммы

    7. Запуск Python

    Поскольку разработчики часто работают с несколькими версиями Python, программа установки не добавляет путь к Python в переменную PATH. Чтобы использовать исполняемый файл и библиотеки Python, установленные программой установки, свяжите интегрированную среду разработки с файлом Python.exe по пути, по которому также находятся библиотеки revoscalepy и microsoftml.

    Командная строка

    При запуске файла Python.exe из папки %ProgramFiles%\Microsoft\PyForMLS (или из любого другого расположения, указанного при установке клиентской библиотеки Python) у вас есть доступ ко всему дистрибутиву Anaconda и к модулям Python Майкрософт revoscalepy и microsoftml.

    1. Перейдите в %ProgramFiles%\Microsoft\PyForMLS и выполните Python.exe.
    2. Откройте интерактивную справку: help() .
    3. Введите имя модуля в командной строке справки: help> revoscalepy . Справка возвращает имя, содержимое пакета, версию и расположение файла.
    4. Получите сведения о версии и пакете в командной строке help>: revoscalepy . Нажмите клавишу ВВОД несколько раз, чтобы выйти из справки.
    5. Импортируйте модуль: import revoscalepy .

    Jupyter Notebook

    В этой статье для демонстрации вызовов функций revoscalepy используется встроенное приложение Jupyter Notebook. Если вы не знакомы с этим средством, на следующем снимке экрана показаны его компоненты и механизм их работы.

    Родительская папка %ProgramFiles%\Microsoft\PyForMLS содержит дистрибутив Anaconda и пакеты Майкрософт. Приложение Jupyter Notebook включено в состав дистрибутива Anaconda (оно находится в папке Scripts), и исполняемые файлы Python регистрируются с помощью Jupyter Notebook. Пакеты в каталоге site-packages можно импортировать в записную книжку. К этим пакетам относятся три пакета Майкрософт, которые используются для обработки и анализа данных и машинного обучения.

    Исполняемые файлы и библиотеки

    При использовании другой интегрированной среды разработки необходимо связать исполняемые файлы и библиотеки функций Python с вашим инструментом. В следующих разделах приводятся инструкции по часто используемым инструментам.

    Visual Studio

    Если вы используете Python в Visual Studio, воспользуйтесь следующими параметрами конфигурации, чтобы создать среду Python, включающую пакеты Python Майкрософт.

    Параметр конфигурации Значение
    Prefix path (Префикс пути) %ProgramFiles%\Microsoft\PyForMLS
    Interpreter path (Путь к интерпретатору) %ProgramFiles%\Microsoft\PyForMLS\python.exe
    Windowed interpreter (Оконный интерпретатор) %ProgramFiles%\Microsoft\PyForMLS\pythonw.exe

    Сведения о настройке среды Python см. в разделе Управление средами Python в Visual Studio.

    PyCharm

    В PyCharm задайте в качестве интерпретатора установленный исполняемый файл Python.

    1. В новом проекте в окне «Параметры» выберите Добавить локальный путь.
    2. Введите %ProgramFiles%\Microsoft\PyForMLS\ .

    Теперь можно импортировать модули revoscalepy, microsoftml или azureml. Также можно открыть интерактивное окно, выбрав Инструменты>Консоль Python.

    Дальнейшие действия

    Теперь, когда у вас есть инструменты и рабочее подключение к SQL Server, вы можете расширить свои навыки, выполнив краткие пошаговые руководства Python в SQL Server Management Studio (SSMS).

    Не активируется виртуальная среда в python (pycharm) venv?

    Невозможно загрузить файл D:\template\venv\Scripts\activate.ps1, так как выполнение сценариев отключено в этой системе. Для получения дополнительных сведений см. about_Execution_Policies по адресу https:/go.microsoft.com/fwlink/?Li
    nkID=135170.
    + CategoryInfo : Ошибка безопасности: (:) [], ParentContainsErrorRecordException
    + FullyQualifiedErrorId : UnauthorizedAccess

    И если ошибка связана с PowerShell как решить это или как обойти

    • Вопрос задан более года назад
    • 21244 просмотра

    1 комментарий

    Средний 1 комментарий

    powershell выполнение сценариев отключено в этой системе

    если выполнять из C:\Windows\system32 то все хорошо, если с D:\SCRIPTS\sc.ps1 то все не хочет, как это можно исправить?

    Невозможно загрузить файл D:\SCRIPTS\sc.ps1, так как выполнение сценариев отключено в этой системе. Для получения дополнительных сведений см. about_Execution_Policies по адресу http://go.microsoft.com/fwlink/?LinkID=135170. + CategoryInfo : Ошибка безопасности: (:) [], ParentContainsErrorRecordException + FullyQualifiedErrorId : UnauthorizedAccess 
    $ipv4 = (Test-Connection -ComputerName $env:computername -count 1).ipv4address.IPAddressToString $num = $ipv4.split(".")[-1] $ie = Invoke-WebRequest -Uri "http://****/indata.php?nt=$num" -Method POST -ContentType "text/plain; charset=utf-8" 

    Отслеживать
    задан 22 янв 2019 в 11:55
    631 1 1 золотой знак 6 6 серебряных знаков 15 15 бронзовых знаков
    Переходил по указанному адресу? about_Execution_Policies
    22 янв 2019 в 11:57
    Да там сказано через Set-ExecutionPolicy Unrestricted но это ничем хорошим не закончится
    22 янв 2019 в 11:59
    Там кроме Unrestricted еще 5 политик есть
    22 янв 2019 в 12:01
    там только либо разрешить всем сценариям работать либо нет, можно как то работать с одним сценарием?
    22 янв 2019 в 12:02
    можно разрешить на текущий сеанс только.
    22 янв 2019 в 12:05

    4 ответа 4

    Сортировка: Сброс на вариант по умолчанию

    • Открываем терминал от админа.
    • Пишем и запускаем: Set-ExecutionPolicy RemoteSigned
    • На вопрос отвечаем: A (Да для всех)

    Отслеживать
    ответ дан 2 ноя 2019 в 8:59
    Serg The Bright Serg The Bright
    1,456 1 1 золотой знак 8 8 серебряных знаков 7 7 бронзовых знаков
    Это единственный во всем интернете, включая англоязычный, простой и верный ответ.
    4 дек 2019 в 12:57
    Спасибо за ответ!
    8 ноя 2020 в 10:46

    Единственное что тут можно добавить — это рекомендацию: если это нужно для разовой установки чего-то — то лучше потом вернуть состояние в стандартное: Set-ExecutionPolicy Default. Это поможет избежать вредоносного ПО 🙂

    2 дек 2020 в 9:06

    По ссылке, которая указанна у сообщении об ошибке, идет описание политик выполнения.

    Для запуска локальных скриптов, нужно установить минимум политику REMOTESIGNED, в этом случае можно будет запускать локальные не подписанные скрипты.

    Для установки политики можно воспользоваться командой

    Set-ExecutionPolicy -ExecutionPolicy

    Так же можно ограничить область применения данной политики, для этого можно воспользоваться параметром -Scope . По умолчанию политика устанавливается для всех пользователей на локальном компьютере, однако с помощью значения CurrentUser , можно ограничить применение только для текущего пользователя, а с помощью значения Process применение ограничится текущим запущенным процессом PowerShell.

    Таким образом для выполнения можно выполнить сначала команду:

    > Set-ExecutionPolicy RemoteSigned -Scope Process 

    и затем запустить нужный скрипт.

  • Добавить комментарий

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