как создать сценарий виндовс

Начало работы с Python в Windows для создания сценариев и автоматизации

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

В этой статье рассматривается настройка среды для использования некоторых полезных библиотек в Python, которые могут автоматизировать задачи на разных платформах, таких как поиск в файловой системе, доступ к Интернету, анализ типов файлов и т. д. с помощью подхода, ориентированного на Windows. Для операций, относящихся к Windows, извлеките ctypes, совместимую с C библиотеку функций с кодом на другом языке программирования для Python, winreg, функции, предоставляющие API реестра Windows для Python, и Python/WinRT, включив доступ к API среды выполнения Windows в Python.

Настройка среды разработки

При использовании Python для написания скриптов, выполняющих операции файловой системы, рекомендуется установить Python из Microsoft Store. При установке из Microsoft Store используется базовый интерпретатор Python3, но в дополнение к автоматическому обновлению также настраиваются параметры пути для текущего пользователя (без необходимости доступа администратора).

Если вы используете Python для веб-разработки в Windows, рекомендуем использовать другую установку с помощью подсистемы Windows для Linux. Ознакомьтесь с пошаговыми инструкциями в нашем руководстве: Начало работы с Python для разработки веб-приложений в Windows. Если вы новичок в Python, ознакомьтесь с нашим руководством: Get started using Python on Windows for beginners (Приступая к работе с Python в Windows для начинающих). В некоторых сложных сценариях (например, при необходимости модификации или доступа к установленным файлам Python, создания копий двоичных файлов или непосредственного использования библиотек DLL Python) может потребоваться загрузить определенный выпуск Python непосредственно с сайта python.org или установить альтернативное средство, например Anaconda, Jython, PyPy, WinPython, IronPython и т. д. Мы рекомендуем это только в том случае, если вы более продвинутый программист на Python и у вас есть конкретная причина выбрать альтернативную реализацию.

Установка Python

Чтобы установить Python с помощью Microsoft Store, сделайте следующее:

Перейдите в меню Пуск (значок Windows в нижнем левом углу), введите «Microsoft Store» и щелкните ссылку, чтобы открыть магазин.

Когда магазин откроется, выберите Поиск в верхнем правом меню и введите «Python». Выберите, какую версию Python вы хотите использовать, из результатов в разделе «Приложения». Мы рекомендуем использовать самую последнюю версию, если только у вас нет причин для обратного (например, по причине согласования с версией, использованной в уже существующем проекте, над которым вы планируете работать). Определив, какую версию вы хотите установить, выберите Получить.

Установка Visual Studio Code

При использовании VS Code в качестве текстового редактора или интегрированной среды разработки (IDE) вам доступны IntelliSense (помощь в завершении кода), анализ кода (помогает избежать ошибок в коде), поддержка отладки (помогает находить ошибки в коде после запуска), фрагменты кода (шаблоны для небольших повторно используемых блоков кода) и модульное тестирование (тестирование интерфейса кода с различными типами входных данных).

Загрузите VS Code для Windows и следуйте инструкциям по установке: https://code.visualstudio.com.

Установка расширения Microsoft Python

Установите расширение Microsoft Python, чтобы воспользоваться преимуществами функций поддержки VS Code. Подробнее.

Откройте окно расширения VS Code с помощью CTRL+SHIFT+X (или используйте меню, чтобы перейти к Вид > Расширения).

В поле Поиск расширений в Marketplace введите: Python.

Найдите расширение Python (ms-python.python) от Microsoft и нажмите зеленую кнопку Установить.

Откройте встроенный терминал PowerShell в VS Code

VS Code содержит встроенный терминал, который позволяет открывать командную строку Python с помощью PowerShell, создавая простой рабочий процесс между редактором кода и командной строкой.

Откройте терминал в VS Code, выберите Просмотр > Терминал или используйте сочетание клавиш Ctrl+` (используя символ обратного апострофа).

По умолчанию этим терминалом должен быть PowerShell, но если его нужно изменить, используйте Ctrl+Shift+P, чтобы ввести команду. Введите терминал: Выберите Оболочку по умолчанию, и отобразится список параметров терминала, содержащий PowerShell, командную строку, WSL и т. д. Выберите ту, которую хотите использовать, и нажмите Ctrl+Shift+` (с помощью обратного апострофа), чтобы создать новый терминал.

В окне терминала VS Code откройте Python, введя: python

как создать сценарий виндовс. Смотреть фото как создать сценарий виндовс. Смотреть картинку как создать сценарий виндовс. Картинка про как создать сценарий виндовс. Фото как создать сценарий виндовс

Установка Git (необязательно)

Если вы планируете совместно работать над кодом Python с другими пользователями или размещать проект на сайте с открытым исходным кодом (например, GitHub), примите во внимание, что VS Code поддерживает управление версиями с помощью Git. Вкладка системы управления версиями в VS Code отслеживает все изменения и содержит общие команды Git (добавление, фиксация, принудительная отправка, извлечение) прямо в пользовательском интерфейсе. Сначала необходимо установить Git для включения панели управления версиями.

Скачайте и установите Git для Windows с веб-сайта git-scm.

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

Если вы никогда не использовали Git, обратитесь к руководствам по GitHub. Они помогут вам приступить к работе.

Пример сценария для вывода структуры каталога файловой системы

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

Начнем с простого сценария, в котором описано дерево каталогов и отображено структуру каталогов.

Откройте PowerShell, используя меню Пуск (нижний левый значок Windows).

Создайте несколько каталогов для использования с нашим примером сценария:

Создайте несколько файлов в этих каталогах для использования с нашим сценарием:

Создайте в каталоге Python-Scripts новый файл Python:

Откройте окно проводника VS Code, нажав Ctrl+Shift+E (или используйте меню, чтобы перейти к Вид > Обозреватель) и выберите только что созданный файл list-directory-contents.py. Расширение Microsoft Python будет автоматически загружать интерпретатор Python. Загруженный интерпретатор можно увидеть в нижней части окна VS Code.

Python — интерпретируемый язык, то есть он выступает в качестве виртуальной машины, имитируя физический компьютер. Существуют различные типы интерпретаторов Python, которые можно использовать: Python 2, Python 3, Anaconda, PyPy и т. д. Чтобы выполнить код Python и получить Python IntelliSense, необходимо указать интерпретатор, который следует использовать в VS Code. Если нет конкретной причины для выбора другого интерпретатора, мы рекомендуем придерживаться интерпретатора, который VS Code выбирает по умолчанию (Python 3 в нашем случае). Чтобы изменить интерпретатор Python, выберите интерпретатор, который сейчас отображается в синей панели в нижней части окна VS Code, или откройте палитру команд (Ctrl+Shift+P) и введите команду Python: Select Interpreter (Python: выбор интерпретатора). На экране появится список установленных интерпретаторов Python. Using Python environments in VS Code(Использование сред Python в VS Code).

как создать сценарий виндовс. Смотреть фото как создать сценарий виндовс. Смотреть картинку как создать сценарий виндовс. Картинка про как создать сценарий виндовс. Фото как создать сценарий виндовс

Вставьте следующий код в файл list-directory-contents.py, а затем выберите Сохранить:

Откройте интегрированный терминал VS Code (Ctrl+` с помощью символа обратного апострофа) и введите каталог src, в котором вы только что сохранили сценарий Python:

Запустите сценарий в PowerShell с помощью:

Результат должен выглядеть примерно так:

Используйте Python, чтобы вывести выходные данные каталога файловой системы в собственный текстовый файл, введя следующую команду непосредственно в терминале PowerShell: python3 list-directory-contents.py > food-directory.txt

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

Если вы не можете установить Python 3 из Microsoft Store, прочтите об этой проблеме, чтобы ознакомиться с примером управления путями для этого примера скрипта.

Пример сценария для изменения всех файлов в каталоге

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

В папке src в каталоге python-scripts создайте новый файл Python для своего сценария:

Откройте файл update-filenames.py, вставьте следующий код в файл и сохраните его:

os.getmtime возвращает метку времени в тактах, что трудно читать. Сначала его необходимо преобразовать в стандартную строку datetime.

Протестируйте сценарий update-filenames.py, запустив его: python3 update-filenames.py а затем снова запустите сценарий list-directory-contents.py: python3 list-directory-contents.py

Вы должны получить следующий результат:

Используйте Python для вывода новых имен каталогов файловой системы с меткой времени последнего изменения в начале текстового файла, введя эту команду непосредственно в терминале PowerShell: python3 list-directory-contents.py > food-directory-last-modified.txt

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

Источник

Примеры сценариев

Скопируйте эти сценарии в корневую папку USB-накопителя хранилища. Сведения о том, что есть в скриптах, см. на этой странице.

В файле примеров сценариев скачаны следующие сценарии:

Сценарии развертывания образа

следующие скрипты настраивают Windows устройства с помощью WIM-или ффу-файла образа, а затем позволяют настроить функции принудительного сброса кнопок.

Скрипты развертывания составляют следующие файлы:

ApplyImage.bat

используйте этот скрипт для применения образа Windows к новому устройству.

ApplyImage.bat полагается на следующие скрипты DiskPart, которые должны быть помещены в одну и ту же папку:

Креатепартитионс сценарии

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

CreatePartitions-UEFI.txt

создает разделы системы, MSR, Windows и средств восстановления для компьютеров на основе UEFI.

этот сценарий временно назначает следующие буквы дисков: System = S, Windows = W и Recovery = R. Раздел MSR не получает букву. Буква W используется, чтобы избежать потенциальных конфликтов букв диска. после перезагрузки устройства разделу Windows присваивается буква C, а другие разделы не получают буквы дисков.

раздел восстановления должен быть секцией после секции Windows, чтобы гарантировать актуальность файла winre. wim в течение периода эксплуатации устройства.

На следующей схеме показана Результирующая конфигурация секции.

как создать сценарий виндовс. Смотреть фото как создать сценарий виндовс. Смотреть картинку как создать сценарий виндовс. Картинка про как создать сценарий виндовс. Фото как создать сценарий виндовс

CreatePartitions-UEFI-FFU.txt

Этот сценарий основан на CreatePartitions-UEFI.txt, но не создает раздел восстановления. это значит, что Windows секция является последней секцией на диске и может быть расширена. Если используется этот скрипт, раздел восстановления можно настроить позже с помощью ApplyRecovery.bat.

CreatePartitions-BIOS.txt

создает разделы System, Windows и recovery tools для пк на базе BIOS.

этот сценарий временно назначает следующие буквы дисков: System = S, Windows = W и Recovery = R. Буква W используется, чтобы избежать потенциальных конфликтов букв диска. после перезагрузки устройства разделу Windows присваивается буква C, а другие разделы не получают буквы дисков.

раздел восстановления должен быть секцией после секции Windows, чтобы гарантировать актуальность файла winre. wim в течение периода эксплуатации устройства.

На следующей схеме показана Результирующая конфигурация секции.

как создать сценарий виндовс. Смотреть фото как создать сценарий виндовс. Смотреть картинку как создать сценарий виндовс. Картинка про как создать сценарий виндовс. Фото как создать сценарий виндовс

CreatePartitions-BIOS-FFU.txt

Этот сценарий основан на CreatePartitions-BIOS.txt, но не создает раздел восстановления. это значит, что Windows секция является последней секцией на диске и может быть расширена. Если используется этот скрипт, раздел восстановления можно настроить позже с помощью ApplyRecovery.bat.

ApplyRecovery.bat

используйте этот скрипт для подготовки раздела восстановления Windows. Этот скрипт вызывается ApplyImage.bat, но его также можно выполнить самостоятельно.

ApplyRecovery.bat полагается на следующие скрипты DiskPart, которые должны быть помещены в одну и ту же папку:

CreateRecoveryPartitions-UEFI.txt

CreateRecoveryPartitions-BIOS.txt

HideRecoveryPartitions-UEFI.txt

HideRecoveryPartitions-BIOS.txt

Начальный макет (LayoutModification.xml)

макет «начальная плитка» в Windows 10 предоставляет изготовителям оборудования возможность добавлять плитки в начальный макет по умолчанию для включения веб-ссылок, дополнительных плиток, Windows приложений и Windows классических приложений. Изготовители оборудования могут использовать этот макет, чтобы сделать его применимым к нескольким регионам или рынкам без дублирования большого объема работы. Кроме того, поставщики вычислительной техники могут добавить до трех стандартных приложений в раздел «часто используемые приложения» в области «система», который предоставляет списки, управляемые Sytem, для пользователя, включая важные или часто используемые системные расположения и недавно установленные приложения.

чтобы воспользоваться всеми этими новыми функциями и обеспечить наиболее надежную и полную настройку начала работы для Windows 10, рассмотрите возможность создания LayoutModification.xml файла. В этом файле указывается, как должны быть размещены плитки OEM в начале. дополнительные сведения о настройке нового начального макета см. в разделе настройка начального экрана Windows 10 в документации по Windows 10 партнеру.

Пример LayoutModification.xml:

TaskbarLayoutModification.xml

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

буттоаудит

добавьте файл ответов в образ Windows на диске C: \ mount \ Windows \ Windows \ пансер \unattend.xml, чтобы он загружался в режиме аудита. этот файл ответов можно создать в Windows диспетчере образов системы.

Буттоаудит — x64

сохранение параметров Windows с помощью восстановления

Windows не сохраняет автоматически параметры, созданные с помощью unattend.xml файлов установки, и не Windows настройки меню «пуск», созданные с LayoutModification.xml во время полной перезагрузки системы, а также данные первого входа из oobe.xml.

Чтобы обеспечить сохранение настроек, в том числе шаги по размещению unattend.xml, LayoutModification.xml и oobe.xml файлов. Ниже приведено несколько примеров сценариев, в которых показано, как хранить эти параметры и вернуть их в нужные участки. Сохраняйте копии unattend.xml, LayoutModification.xml, oobe.xml, а также следующие два текстовых файла: ResetConfig.xml и Енаблекустомизатионс. cmd, в C: \ OEM regedit \ \ :

ResetConfig.xml

Енаблекустомизатионс. cmd

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

переустановите Windows входящие приложения

переустановите Windows приложения после добавления нового языка. Вы можете переустановить приложения, не удаляя их первыми.

ReinstallInboxApps-x64. cmd

Поиск букв дисков с помощью сценария

используйте этот сценарий в Windows PE, чтобы указать диск с папкой «images».

Источник

Использование сценария для установки классических приложений в пакетах подготовки

Относится к:

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

Сборка ресурсов приложения

На устройстве, где создается пакет, поместите все ваши ресурсы в известное расположение. Каждый ресурс должен иметь уникальное имя файла, так как все файлы будут скопированы в одну папку temp на устройстве. Довольно часто у разных приложений установщик размещается в файле под названием install.exe или подобном ему, и из-за этого может возникнуть конфликт имен. Чтобы устранить эту проблему, можно использовать метод, описанный в следующем пункте, для включения полной структуры каталогов, которая затем будет развернута во временной папке на устройстве. Чаще всего для этого создают подкаталог для каждого приложения.

Помещение ресурсов приложения в CAB-файлы

Используйте команду makecab для создания CAB-файлов.

Создание сценария для установки приложения

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

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

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

Сценарии будут выполняться на устройстве в системном контексте.

Пример отладки

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

Здесь нет отличий от предыдущего установщика кроме того, что приложение устанавливается из установщика с расширением MSI. Обратите внимание, что команда msiexec вызывается с флагом /quiet для соблюдения требований по фоновому выполнению сценариев из пакета подготовки.

Пример PowerShell

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

Выдержка из примера с CAB-файлом

Вызов нескольких сценариев в пакете

Пакет подготовка может включать несколько командных линий.

На каждый пакет подготовка разрешена одна командная линия. Пакетные файлы, приведенные выше, — это управляющие сценарии, которые контролируют установку и вызывают все остальные сценарии, включенные в пакет подготовки. Из параметра CommandLine, указанного в пакете, должен вызываться именно управляющий сценарий.

Ниже приведена таблица с описанием этих взаимосвязей на основе приведенного выше примера для PowerShell.

Параметр ICDЗначениеОписание
ProvisioningCommands/DeviceContext/CommandLinecmd /c PowerShell_Example.batКомандная строка, необходимая для вызова управляющего сценария.
ProvisioningCommands/DeviceContext/CommandFilesPowerShell_Example.batОдин управляющий сценарий, указанный в командной строке, который обрабатывает вызовы всех необходимых установщиков и выполнение всех остальных действий, таких как разворачивание CAB-файлов. Ведение журнала должно обеспечиваться этим сценарием.
ProvisioningCommands/DeviceContext/CommandFilesmy_powershell_script.ps1Другие ресурсы, указанные в управляющем сценарии. В этом примере имеется только один, но здесь может быть много ссылок на ресурсы. Довольно часто управляющий сценарий используют для вызова ряда установщиков вида setup.exe или install.exe для установки нескольких приложений. Каждый из этих установщиков должен быть указан здесь как ресурс.

Добавление сценария в пакет подготовки

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

С помощью конструктора конфигураций Windows укажите всю информацию о том, как сценарий должен выполняться с использованием параметра CommandLine в пакете подготовки. Сюда входят флаги и любые другие параметры, которые вы обычно вводите в командной строке. Поэтому, если пакет содержит установщик приложения под названием install.exe и сценарий для автоматизации установки под названием InstallMyApp.bat, параметр ProvisioningCommands/DeviceContext/CommandLine должен иметь следующее значение:

В конструкторе конфигураций Windows это выглядит следующим образом:

как создать сценарий виндовс. Смотреть фото как создать сценарий виндовс. Смотреть картинку как создать сценарий виндовс. Картинка про как создать сценарий виндовс. Фото как создать сценарий виндовс

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

как создать сценарий виндовс. Смотреть фото как создать сценарий виндовс. Смотреть картинку как создать сценарий виндовс. Картинка про как создать сценарий виндовс. Фото как создать сценарий виндовс

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

Примечания

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

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

Если из-за плохого сценария устройство находится в неустановленное состояние, его можно сбросить с помощью параметров восстановления в Windows клиенте.

Ресурсы CommandFile развертываются на устройстве во временную папку, уникальную для каждого пакета.

Для пакетов, добавленных во время неявного опыта, обычно это %WINDIR%\system32\config\systemprofile\appdata\local\Temp\ProvisioningPkgTmp\ \Commands\0

После 0 Commands\ ссылается на порядок установки и указывает первое приложение, которое будет установлено. Для каждого приложения в пакете номер будет возрастать.

Для пакетов, добавленных двойным щелчком по уже развернутому устройству, это будет временная папка пользователя, выполняющего пакет подготовки: %TMP%\ProvisioningPkgTmp\ \Commands\0

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

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

С этого момента время ожидания для процесса подготовки составляет 30 минут. Все сценарии и процедуры установки должны быть завершены в течение этого времени.

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

Источник

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

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