Как создать файл сценария windows 10

PowerShell script

PowerShell script
(Image credit: Mauro Huculak)

On Windows 11 (or 10), PowerShell is a command-line interface (CLI) to run commands and scripts to automate tasks and change settings on your device, similar to Command Prompt. However, PowerShell is a more powerful CLI, offering more tools and flexibility. In addition, unlike Command Prompt, PowerShell is available across platforms, including Windows, macOS, and Linux.

A script is a collection of instructions written to a text file (using the «.ps1» extension) that PowerShell understands and executes in sequence to run different actions.

The only caveat is that the default security protocol prevents scripts from running on your computer. This means that when double-clicking a «.ps1» file, the system won’t do anything, and if you try to run the script within PowerShell, you will see the «cannot be loaded because running scripts is disabled on this system» error message. However, running scripts on your device is possible. You only need to enable the correct execution policy.

In this how-to guide, I will walk you through the steps to create and run your first script file on PowerShell using Visual Studio Code, Notepad, and the PowerShell Integrated Scripting Environment (ISE) console, whether you use Windows 10 or 11.

How to create PowerShell script file on Windows 11 and 10

It’s possible to create PowerShell script files using any text editor or the legacy ISE application. However, the Visual Studio Code editor is the preferred option for writing scripts moving forward.

Create a script with VS Code

Visual Studio Code (VS Code) is a free, extensible, cross-platform code editor that works to write virtually any programming language. And when adding the PowerShell extension, you get an interactive scripting editing experience, which even comes with IntelliSense (code-completion) support.

You can still use PowerShell ISE, but Visual Studio Code with the PowerShell extension is meant to be the new default experience. Also, consider that the legacy experience won’t get any new features and doesn’t support PowerShell 7 or future releases.

All the latest news, reviews, and guides for Windows and Xbox diehards.

Install VS Code

To install Visual Studio Code on Windows 11 (or 10), use these steps:

  1. Open the Visual Studio Download page.
  2. Click the Windows button to download the installation file.

Visual Studio Code

(Image credit: Mauro Huculak)
  1. Double-click the installer to begin the process.
  2. Select the «I accept the agreement» option.
  3. Click the Next button.
  4. Confirm additional tasks as necessary.
  5. Click the Next button again.

VS Code Setup

(Image credit: Mauro Huculak)
  1. Click the Install button.
  2. Click the Finish button.

Once you complete the steps, you can continue installing the PowerShell extension for VS Code.

Install PowerShell extension

To install the PowerShell extension on VS Code, use these steps:

  1. Open VS Code.
  2. Click the Extensions tab («Ctrl + Shift + X» keyboard shortcut) from the left pane.
  3. Search for PowerShell and select the top result.
  4. Click the Install button.

VS Code install PowerShell

(Image credit: Mauro Huculak)
  1. Click the «Trust Workspace & Install» button.

VS Code trust workspace and install

(Image credit: Mauro Huculak)

After you complete the steps, you can start writing PowerShell scripts from Visual Studio Code.

Create PowerShell script with Visual Studio Code

To create a script with Visual Basic Code on Windows 11 (or 10), use these steps:

  1. Open VS Code.
  2. Click the File menu and select the «New Text File» option.
  3. Click the File menu and select the Save As option.

VS Code create new ps1 file

(Image credit: Mauro Huculak)
  1. In the «File name» field, specify a name for the file with the «.ps1» extension — for example, first_script.ps1.
  2. Click the Save button.
  3. Write a new or paste the script you want to run — for example, Write-Host «Congratulations! Your first script executed successfully»
  • Quick note: The above script will output on the screen that says: «Congratulations! Your first script executed successfully.»
  1. (Optional) Open the Run menu, select the Start Debugging option from the command bar, or press the F5 key) to run the script.

Write-Host "Congratulations! Your first script executed successfully"

(Image credit: Mauro Huculak)
  1. Click the File menu.
  2. Click the Save option.

Create PowerShell script with Notepad

To create a PowerShell script with the Notepad app, use these steps:

  1. Open Start.
  2. Search for Notepad, and click the top result to open the app.
  3. Write a new or paste your script in the text file — for example, Write-Host «Congratulations! Your first script executed successfully»

PowerShell Notepad script

(Image credit: Mauro Huculak)
  • Quick note: Although the Notepad app looks a little different on Windows 11, the instructions will also apply.
  1. Click the File menu.
  2. Select the Save As option.
  3. Confirm a descriptive name for the script — for example, first_script.ps1.

Notepad save script file

(Image credit: Mauro Huculak)
  1. Click the Save button.

Create PowerShell script with Integrated Scripting Environment

You can also use the built-in PowerShell ISE app to code your scripts on Windows.

The Integrated Scripting Environment (ISE) is a complex tool, but you can get started using these easy steps:

  1. Open Start.
  2. Search for Windows PowerShell ISE, right-click the top result, and select the Run as administrator option.
  3. Click the File menu.
  4. Select the New option to create a new empty «.ps1» file.
  5. Write a new script or paste the script you want to run — for example, Write-Host «Congratulations! Your first script executed successfully»

PowerShell ISE script

(Image credit: Mauro Huculak)
  1. Click the File menu.
  2. Click the Save option.
  3. Type a name for the script — for example, first_script.ps1.

PowerShell ISE Script Ps1 Save

(Image credit: Mauro Huculak)
  1. Select the folder to save the script file.
  2. Click the Save button.
  3. (Optional) Click the Run button on the top-right side (or press the F5 key) to run the script.

Once you complete the steps using Notepad, Visual Studio Code, or PowerShell ISE, the script will be ready to run, but it will fail due to the default system settings. The reason is that the default PowerShell settings are configured to block the execution of any script. (The only exception is if you run the script’s contents within Visual Studio Code or PowerShell ISE.)

How to run PowerShell script file on Windows 11 and 10

Whether you use Windows 11 or 10 on your computer, you must change the execution policy to run a script with PowerShell.

To change the execution policy to run PowerShell scripts on Windows 11 (or 10), use these steps:

  1. Open Start.
  2. Search for PowerShell, right-click the top result, and select the Run as administrator option.
  3. Type the following command to allow scripts to run and press Enter: Set-ExecutionPolicy RemoteSigned
  4. Type «A» and press Enter (if applicable).
  5. Type the following command to run the script and press Enter: & «C:\PATH\TO\SCRIPT\first_script.ps1»

In the above command, change «PATH\TO\SCRIPT» to the location of your script. For example, this command runs a script stored in the «Downloads» folder: & «C:\Users\username\Downloads\first_script.ps1»

Run PowerShell script on Windows 10

(Image credit: Mauro Huculak)

After you complete the steps, the script will run, and if it was written correctly, you should see its output on the screen without issues.

PowerShell includes four execution policies that apply to the operating system:

  • Restricted — Prevents any script from running.
  • RemoteSigned — Allows scripts created on the computer, but scripts created on another device won’t run unless they include a trusted publisher’s signature.
  • AllSigned — All the scripts will run, but only if a trusted publisher has signed them.
  • Unrestricted — Runs any script without any restrictions.

It’s recommended to allow local scripts to run a script only from a trusted source. If you don’t plan to run scripts regularly, it’s best to restore the default settings to block untrusted scripts using the same instructions outlined above, but in step 4, use the «Set-ExecutionPolicy Restricted» command.

More resources

For more helpful articles, coverage, and answers to common questions about Windows 10 and Windows 11, visit the following resources:

  • Windows 11 on Windows Central — All you need to know
  • Windows 10 on Windows Central — All you need to know

Mauro Huculak has been a Windows How-To Expert contributor for WindowsCentral.com for nearly a decade and has over 15 years of experience writing comprehensive guides. He also has an IT background and has achieved different professional certifications from Microsoft, Cisco, VMware, and CompTIA. He has been recognized as a Microsoft MVP for many years.

Если вы разработчик, то вполне можете создавать полноценные сценарии автоматизации. PowerShell отлично справляется с этой задачей, особенно если вы используете его для того, чтобы создавать, тестировать и развертывать решения в средах CI/CD.

В этой статье мы поближе посмотри на то, как создаются и запускаются сценарии PowerShell. Здесь мы пробежимся по пошаговому руководству, как сделать это с помощью VS Code, Notepad и ISE (Integrated Scripting Environment – интегрированная среда разработки сценариев). 

Давайте начнем!

Что такое PowerShell?

PowerShell – это кросс-платформенное инструментальное средство автоматизации и конфигурирования. Он предоставляет полный пакет для администраторов, разработчиков и прочих пользователей, который позволяет запускать командлеты (небольшие и легкие команды) для управления различными задачами. 

Под пакетом понимается следующее:

  • Оболочка командной строки
  • Соответствующий язык программирования
  • Фреймворк для выполнения командлетов

В отличие от командной строки, его можно использовать на всех основных платформах, в том числе Windows, Linux и macOS.

Если смотреть с технической точки зрения, в основе PowerShell лежит платформа .NET. За счет своего принципа работы он поддерживает объекты и структурированные данные, например, JSON, CSV и XML. Кроме того, разработчики могут вместе с PowerShell использовать REST API. Увы, но стандартная командная строка всего этого не поддерживает, так как она текстовая. 

Все сценарии PowerShell имеют расширение .ps1. 

Если вы собираетесь писать сценарии PowerShell, то вам нужно знать три ключевых понятия:

  • Командлеты: это элементарный исполняемый сценарий, который предлагает предварительно настроенный функционал. Например, для того, чтобы скопировать какой-то элемент, вы можете воспользоваться командлетом Copy-Item, для того, чтобы получить справку, — Get-Help, для того, чтобы вывести что-либо на экран, — Write-Host.
  • Псевдонимы: псевдонимы позволяют легко обращаться к командлетам. Они обеспечивают более быстрый доступ к ним. Однако желательно использовать их с подсказками с точки зрения интерактивности и не стоит их использовать при непосредственном написании сценариев PowerShell.
  • Функции: функция – это набор операторов PowerShell. Инициировать работу функции можно, вызвав ее. 

PowerShell и написание сценариев

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

Если уж на то пошло, то у написания сценариев есть большое количество преимуществ, например,

  • Автоматизация экономит ваше драгоценное время
  • Переносимая база знаний
  • Позволяет поддерживать согласованность между системами
  • Повышает уровень ваших навыков и шансы на трудоустройство

Вы можете писать сценарии PowerShell, Bash, Ruby или Python.

В общем-то, PowerShell – это отличный инструмент для написания сценариев. Между тем, Windows не позволяет запускать сценарии в силу настроек безопасности. Их запуск может привести к таким ошибкам, как «Running scripts is disabled on this system.» («Запуск сценариев в этой системе запрещен.»). Для того, чтобы обойти этот момент и все же выполнить сценарий, вам необходимо установить правильную политику исполнения (рассмотрено далее). 

Почему для написания сценариев нужно использовать PowerShell?

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

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

Кроме всего прочего, сценарии PowerShell преимущественно используются для того, чтобы автоматизировать процесс управления системой. И тем не менее, вы, как разработчик, можете использовать его для тестирования, сборки и развертывания сборок в среде CI/CD.

Как создавать сценарии PowerShell?

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

Именно поэтому мы начнем с того, что продемонстрируем то, как можно создавать сценарии PowerShell с помощью Visual Studio Code (также известного как VS Code). Помимо этого, мы рассмотрим, как можно создавать сценарии PowerShell в Блокноте и прочих интегрированных средах, которые отлично подходят для написания сценариев, например, PowerShell Integrated Scripting Environment (PowerShell ISE).

1. С помощью VS Code

VS Code – это надежный кросс-платформенный редактор кода, и, к тому же, бесплатный. Его разработкой занимается компания Microsoft. Она предоставляет пользователям дополнительные преимущества отличной поддержки PowerShell.

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

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

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

Для начала вам нужно установить VS Code.

Для того, чтобы сделать это, перейдите на страницу скачивания Visual Studio Code. Выберите подходящую версию VS Code в зависимости от вашей операционной системы. Мы используем Windows 11, поэтому мы выбрали версию для Windows.

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

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

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

VS Code довольно продуманный и понимает, что вы собираетесь работать с PowerShell, поэтому автоматически рекомендует вам установить расширение PowerShell от Microsoft.

Чтобы установить расширение, нажмите кнопку «Install» («Установить»). Или же, если вы хотите узнать больше, нажмите кнопку «Show Recommendations» («Показать рекомендации»).

Если по той или иной причине Visual Studio Code не выдал вам никаких рекомендаций, вы можете попробовать найти плагин вручную. 

Для того, чтобы открыть окно с расширениями, нажмите на символ с четырьмя квадратиками (с одним вылетающим квадратиком) или нажмите Ctrl+Shift+X. Теперь введите в строке поиска «PowerShell» и нажмите на первый результат. После этого переходите к его установке (нажмите кнопку «Install»).  

В конце он спросит вас, доверяете ли вы авторам файлов, находящихся в рабочей среде. Для того, чтобы завершить установку, нажмите «Trust Workspace&Install» («Доверять рабочей среде и установить»).

Создание сценария PowerShell с помощью VS Code

Теперь, когда вы по всем правилам установили VS Code и расширение PowerShell, вы можете создать свой первый сценарий PowerShell. 

Если вы еще не создали новый файл, то вы можете это сделать следующим образом:

  1. Откройте VS Code
  2. Откройте главное меню, нажмите «File» («Файл»), а затем «New Text File» («Новый текстовый файл»).
  3. Теперь сохраните файл, выбрав «File» -> «Save As» («Файл» -> «Сохранить как»).
  4. Введите название файла и не забудьте указать расширение .ps1.
  5. В конце нажмите «Save file» («Сохранить файл»).

Вот и все! Теперь вы можете создать свой сценарий. Я добавил командлет Write-Host со значением «This is a VS Code Script written for Geekflare.» («Это сценарий VS Code, написанный для Geekflare.»).

Чуть позже мы посмотрим, как выполнить этот сценарий, так что читайте дальше!

2. С помощью Блокнота 

Нет ничего проще, чем создавать сценарии PowerShell в Блокноте.

Все, что вам для этого нужно, выполнить следующее:

  1. Откройте Пуск и найдите там Блокнот (Notepad).
  2. Теперь щелкните по нему правой кнопкой мыши и выберите «Открыть от имени администратора» («Open as an administrator»).
  3. Напишите свой сценарий.

  1. В качестве примера напишем «This is a PowerShell Script written in Notepad.» («Это сценарий PowerShell, написанный в Блокноте.»).
  2. Перейдите в главное меню, выберите «File» и нажмите «Save As».

  1. Введите название вашего сценария PowerShell и нажмите «Save».

Вот и все! Вы успешно создали сценарий PowerShell в Блокноте.

3. С помощью PowerShell ISE

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

Для того, чтобы использовать его с толком, вам нужно выполнить следующее:

  1. Откройте Пуск.
  2. Найдите Windows PowerShell ISE, введя в строку поиска «PowerShell».

  1. Выберите первый результат, щелкните по нему правой кнопкой мыши и выберите «Открыть от имени администратора». Откроется окно Windows PowerShell ISE.

  1. Теперь нажмите «File» и выберите «New» («Новый»). Откроется окошко с новым файлом (как показано ниже). 

  1. Напишите сценарий. В качестве примера напишем «This is a PowerShell Script written with the help of PowerShell ISE.» («Это сценарий PowerShell, написанный с помощью PowerShell ISE.»).
  2. После чего, нажмите «File» и выберите «Save As».
  3. Введите название файла и нажмите «Save».

Помимо всего прочего, PowerShell ISE может помочь вам запустить сценарий. Для этого найдите сверху кнопку «RUN» («ЗАПУСТИТЬ») и нажмите ее. Если она выдает ошибку безопасности, то ниже вы можете прочитать, как ее исправить. 

Как исправить ошибку безопасности сценария PowerShell и запустить его?

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

Для этого выполните следующее:

  1. Откройте Пуск.
  2. Найдите PowerShell.
  3. Теперь щелкните на приложение PowerShell правой кнопкой мыши.
  4. Выберите «Открыть от имени администратора».
  5. Когда PowerShell откроется, введите команду Set-ExecutionPolicy RemoteSigned.
  6. Нажмите Enter. После этого приложение запросит подтверждение. Чтобы разрешить запуск сценариев, нажмите А.

Вот и все! Теперь вы наконец-то можете запускать свои сценарии!

Ниже мы показали, как это выглядит в случае с PowerShell ISE.

А вот так это выглядит в случае с Visual Studio Code.

А в случае с Блокнотом вам придется запустить сценарий непосредственно из командной строки PowerShell.

Рекомендации по написанию и запуску сценариев PowerShell

Когда вы работаете со сценариями PowerShell, необходимо следовать рекомендациям, а именно:

  • Используйте полную форму командлета, а не псевдоним. Псевдоним удобно использовать, когда вы работаете с консолью. Да, он может улучшить интерактивность, но может испортить сценарий. 
  • Желательно не использовать командлет Write-Host, поскольку его функциональные возможности довольно ограничены. Да, он может вывести какой-то текст на экран, но вы не можете настроить то, каким цветом будет печататься этот текст. Вместо этого лучше используйте командлет Write-Output.
  • Всегда используйте существительное внутри командлета только в единственном числе, не во множественном. 
  • Используйте для командлета только утвержденные глаголы.
  • Если возможно, указывайте расширение приложения. Это поможет устранить путаницу и повысит уровень читаемости.
  • Используйте специальные редакторы кода PowerShell, например, VS Code или PowerShell ISE. У них есть отличные функции, которые помогут вам в написании и запуске сценариев PowerShell. Конечно, вы можете использовать Блокнот (Notepad или Notepad++), но в таком случае вы сузите границы своих возможностей.
  • Старайтесь комментировать код, но не переборщите, поскольку это может плохо повлиять на читаемость кода и удобство его сопровождения.
  • Убедитесь в том, что вы установили правильный параметр безопасности для запуска сценариев PowerShell.

Заключение

Вот и все! Теперь вы знаете, как создавать и запускать сценарии PowerShell с помощью Блокнота, VS Code и PowerShell ISE. Кроме того, вы можете использовать любой из упомянутых выше инструментов для того, чтобы писать и выполнять сценарии PowerShell.

И тем не менее, как уже было сказано в рекомендациях, писать сценарии PowerShell в Блокноте – не самая лучшая идея. В таком случае вы упускаете возможность воспользоваться многими функциями, которые есть у специальных редакторов кода VS Code и PowerShell ISE.

Не один год прошел с момента выхода Windows 7 и Server 2008.

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

Начинающие же юзеры в большинстве своём даже не знают, что такое PowerShell (PS).

А ведь скрипты для PowerShell позволяют автоматизировать, без малого, 100% действий и сценариев, выполняемых в операционной системе посредством командной строки и графического интерфейса.

С основными возможностями этой программы и ознакомимся, побольше внимания уделив функции создания и запуска скриптов (микропрограмм).

Руководств и документации по программе существует несметное количество, в том числе и на русском языке. Задача статьи – дать пользователю концептуальные знания, ввести в курс дела, а стоит ли знакомиться с интерпретатором и выполнением скриптов в нём поближе, решит каждый самостоятельно.

Содержание:

Что собой представляет Windows PowerShell?

PowerShell – интерпретатор командной строки CMD на основе .NET Framework, наделённый собственным языком сценариев.

Первое значит, что работает он в текстовом режиме: вводишь запускаешь команду, а на экране видишь результат её выполнения.

Как это было в MS-DOS и старых версиях UNIX’а.

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

Для Vista, XP и более старых редакций Windows, если их кто-то использует, PowerShell можно установить с пакета Windows Management Framework.

По сравнению с другими интерпретаторами, PS отличается:

  • интеграцией с .NET Framework – позволяет создавать мощные скрипты, внедряя в них программный код;
  • все возвращаемые данные являются объектами, а не данными текстового/строчного типа (string), что подразумевает их передачу другим скриптам и любую обработку.

Рис. 1 – Вид окна PowerShell

Рис. 1 – Вид окна PowerShell

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

  • Возможность представления команд в виде командлетов – их запуск осуществляется внутри интерпретатора, в ином случае команда выполняется в отдельном процессе.
  • Использование конвейеров – предназначены для передачи данных из одной команды в другую с сохранением их структуры и типа.
  • Интегрирована многопоточная передача данных по сети с установкой приоритетности и возобновлением соединения.
  • Поддержка позиционных и именованных параметров.
  • Фоновая работа – асинхронный вызов команд и запуск скриптов на удалённых машинах.
  • Установка ограниченных сессий с удалёнными клиентами и выполнение сценариев на них.
  • Модули – способ организации скриптов, когда они становятся самодостаточными и выполняются в собственном контейнере, не влияя на окружение модуля.
  • Наличие обработчика ошибок.
  • Графическая среда для языка: синтаксис, отладчик, подсветка, автоматическое завершение команд с поддержкой Юникод и закладок.
  • Добавление точек прерывания в строки, команды, операции и переменные для отладки сценария.
  • Блочные и подстрочные комментарии.
  • Поддержка создания алиасов для некоторых командлетов, преобразовывающихся в обычные команды в момент выполнения.
  • Создание ограниченных сессий, где можно выполнять строго заданный перечень команд и очень многое другое.

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

Приступать к освоению интегрированного скриптового языка, не имея навыков программирования, можно.

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

Хотя, не обладая знаниями об основных понятиях PowerShell, сделать в окне командного интерпретатора вряд ли что-либо получится. С них и начнём.

к содержанию ↑

Командлеты

Командлеты – своеобразные команды PS, за которыми скрываются самые разные функции. Встроенные в интерпретатор команды реализованы по принципу «глагол-имя существительное», например, Get-Process (получение списка процессов). Такое решение позволяет понимать суть команды уже из её названия (на английском языке).

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

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

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

Командлеты умеют эксплуатировать API для получения доступа к требуемой информации напрямую или через уникальные пути (буквы дисков и пути к директориям).

Посредством командлетов можно работать с реестром Windows, объектами файловой системы и хранилища сертификатов, установленными приложениями и службами.

к содержанию ↑

Конвейер

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

Для этого существует конвейер. Как и в UNIX, он объединяет команды путём передачи выходных данных одного командлета во входные для другого в неизменном виде, сохраняя свой тип.

При этом не требуются никакой контейнер или посимвольный разбор информации.

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

к содержанию ↑

Скрипты

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

Особенно, когда одни и те же операции следует выполнять постоянно.

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

Для выполнения однообразных цепочек действий в PS реализованы сценарии – текстовые файлы с последовательностью понятных для интерпретатора команд внутри.

Скрипты в PowerShell еще больше упростят и автоматизируют работу за ПК и его обслуживание, особенно, если в сценарии присутствуют разветвления, условия, логические операции и циклы.

Но здесь «не всё золото, что блестит»: написать собственный сценарий или загрузить готовый (пускай и немного подогнав его под собственные цели) так просто не получится.

Если бы в Microsoft это разрешили, сколько бы бед наделали скрипты для PowerShell, написанные мошенниками и недоброжелателями в корыстных или хулиганских целях.

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

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

к содержанию ↑

Прежде чем пользоваться скриптами

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

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

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

Преднамеренный запуск макросов происходит после изменения уровня безопасности, если юзер даст добро, осознавая, что он делает, и зная наверняка, что в файле *.ps1 находится.

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

Здесь можно как снизить защиту до минимума, так и разумно лавировать между возможность открыть дыры для проникновения вредоносного ПО в систему и удобством в работе с PowerShell.

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

  • файлы с расширением ps1 не идентифицируются системой как исполняемые и обозначаются как неизвестные или текстовые (по двойному клику открываются в используемом на компьютере по умолчанию текстовом редакторе);
  • оболочка позволяет выполнять скрипты после указания к ним полного пути, скриптовые файлы в текущей директории не ищутся, делая невозможным выполнения макросов, расположенных в текущем каталоге;
  • запуск встроенного скрипта Execution Policy, отвечающего за добавление в перечень разрешенных скриптов требуемого.

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

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

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

Проверить текущее состояние политики запуска можно командой «Get-ExecutionPolicy». Какой бы ни была политика безопасности, пользователь не сможет запустить скрипт, в котором содержатся команды, на выполнение коих у него недостаточно привилегий.

к содержанию ↑

Запуск PowerShell

От теории пора переходить к практике. Итак, для выполнения скриптов необходимо получить цифровую подпись или понизить политику безопасности (второй вариант попроще).

Вызвать окно PowerShell можно несколькими путями.

Представлено оно в двух видах:

  • классическая консоль;
Рис. 2 – Окно PowerShell

Рис. 2 – Окно PowerShell

  • PowerShell ISE – добавляет поддержку вкладок, синтаксиса, контекстной справки, контекстного и главного и меню, что в значительной мере облегчает работу в интерпретаторе.

Рис. 3 – Внешний вид PowerShell ISE

Рис. 3 – Внешний вид PowerShell ISE

к содержанию ↑

Пуск

Проще всего вызвать PS через Пуск.

  1. Открываем меню (в Windows 7 кликаем «Все программы»).
  2. Идём в каталог Windows PowerShell и кликаем по нужной иконке.

powershell скрипты

Рис. 4 – Запуск PS через Пуск

Также вызвать PS через можно с помощью интегрированной поисковой системы.

Рис. 5 – Запуск PS через поиск

Рис. 5 – Запуск PS через поиск

к содержанию ↑

Командный интерпретатор

Кто любит нестандартные и быстрые способы запуска, воспользуйтесь окном «Выполнить». Оно открывается одноимённой кнопкой в Пуске и комбинацией клавиш Win+R.

В диалоговом окне пишем «powershell» и жмём «Ввод».

Рис. 6 – Запуск PS через диалог «Выполнить»

Рис. 6 – Запуск PS через диалог «Выполнить»

к содержанию ↑

Win+X

В Windows 10 PS можно вызывать из меню WinX. Дело в том, что по умолчанию путём клика по команде «Командная строка» открываемся CMD. Её можно заменить на PowerShell.

Открываем «Свойства» Панели задач, во вкладке «Навигация» ставим галочку возле единственной опции и сохраняем настройки.

Рис. 7 – Замена командной строки на PowerShell в меню WinX

Рис. 7 – Замена командной строки на PowerShell в меню WinX

Можно вызывать PowerShell через командную строку, прописав в ней «powershell» или запуском исполняемого файла по пути: %WINDIR%\System32\WindowsPowerShell\v1.0 для 32-битных систем и по адресу %WINDIR%\ syswow64\WindowsPowerShell\v1.0 для 64-разрядных Windows любой редакции.

powershell скрипты

Рис. 8 – Запуск PS из каталога, где хранится его исполняемый файл

к содержанию ↑

Настройка политики безопасности

Осталось немного – разрешить PowerShell выполнение скриптов. Прописываем команду «Set-ExecutionPolicy RemoteSigned» и жмем «Y».

Рис. 9 – Изменение политики выполнения

Рис. 9 – Изменение политики выполнения

На этом всё. Теперь можете выполнять любые командлеты и скрипты. Попробуем, например, отобразить список активных процессов, выполнив «Get-Process».

Рис. 10 – Результат выполнения первой команды

Рис. 10 – Результат выполнения первой команды

к содержанию ↑

Запуск скриптов

Создавать сценарии можно в любом текстовом редакторе (лучше остановиться на Win, Notepad++ или подобному, с поддержкой синтаксиса или проверки) либо в программе PowerShell ISE.

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

Предположим, что свой первый скрипт вы написали (это получение перечня запущенных процессов), сохранили через меню «Файл», и его нужно запустить. Делается это тремя путями:

1 Прописываем полный путь к скрипту в PowerShell (или ISE);

Рис. 11 – Запуск первого скрипта путём прописывания пути к нему

Рис. 11 – Запуск первого скрипта путём прописывания пути к нему

2 Через контекстное меню файла ps1;

Рис. 12 – Запуск сценария через его контекстное меню

Рис. 12 – Запуск сценария через его контекстное меню

3 Открываем сценарий в PowerShell ISE и жмём F

powershell скрипты

Рис. 13 – Запуск скриптов из окна PowerShell ISE

Важно, чтобы в пути к файлу отсутствовали пробелы!

PowerShell – мощное средство для упрощения выполнения рутинных операций в Windows 7, Server 2008 и более новых. Важное достоинство PowerShell – скрипты и наличие версии программы с графическим интерфейсом PS ISE. Команды в ней представлены в виде командлетов, что сделает возможным ознакомление с оболочкой и понимание смысла каждой команды. Политика безопасности не даст новичку навредить своему компьютеру полученными из неизвестных источников скриптами, а режим отладки, создание собственных командлетов, функций и механизм обработки ошибок открывают перед программистами и администраторами неограниченные возможности.

Навигация по странице

  1. Как сделать и запустить скрипт PowerShell?
  2. Как запустить скрипт в PowerShell?
  3. Как разрешить выполнение неподписанного скрипта PowerShell?
  4. Как запустить скрипт PowerShell в фоновом режиме?
  5. Как запустить скрипт через PowerShell с параметрами?
  6. Как запустить скрипт PowerShell с помощью ярлыка?
  7. Полезные сценарии для Windows
  8. Что такое командные скрипты Windows?
  9. Что такое Bat-скрипты Windows?
  10. Что такое исполняемые скрипты Windows?
  11. Какое расширение имеют файлы скриптов PowerShell?
  12. Какие скрипты PowerShell используются администраторами?

Выполнение скриптов в PowerShell

PowerShell представляет собой новую командную оболочку для операционной системы Windows, созданную Microsoft с целью полного замещения и улучшения cmd. Эта оболочка уже включена в состав операционных систем Windows 7 и выше. Если у вас старая версия операционной системы или вы хотите загрузить более новую версию PowerShell. Windows — операционная система, пользующаяся огромной популярностью среди миллионов пользователей по всему миру. В ее арсенале множество функций и возможностей, однако некоторые из них остаются недостаточно известными обычным пользователям. В данной статье мы расскажем о нескольких полезных сценариях, способных сделать вашу работу с Windows более эффективной и удобной.

Политика исполнения PowerShell-скриптов представляет собой механизм безопасности, управляющий условиями загрузки конфигурационных файлов и запуска сценариев в данной среде. Её основное предназначение — предотвращение выполнения потенциально вредоносных сценариев.

Полезные скрипты PowerShell для Windows

Как сделать и запустить скрипт PowerShell

Создать скрипт PowerShell довольно просто. Вот шаги, которые вы можете выполнить, чтобы создать свой первый скрипт:

1. Откройте редактор PowerShell ISE:

PowerShell ISE (Integrated Scripting Environment) предоставляет удобную среду для написания и отладки скриптов. Вы можете его найти в меню «Пуск» (Start) под разделом «Стандартные» (Standard) или выполнить команду `PowerShell_ise` в командной строке.

2. Напишите свой скрипт:

В окне редактора PowerShell ISE напишите свой скрипт. Ниже приведен пример простого скрипта, который выводит «Hello, World!» в консоль:

Write-Host «Hello, World!»

3. Сохраните скрипт:

  • Нажмите `Ctrl + S` или выберите «Файл» (File) -> «Сохранить» (Save).
  • Укажите имя файла и добавьте расширение `.ps1` (например, `MyScript.ps1`).

4. Запустите скрипт:

  • Выберите весь текст скрипта.
  • Нажмите `F5` или выберите «Запустить сценарий» (Run Script) в PowerShell ISE.

Примеры более сложных скриптов:

#Скрипт, создающий новую папку:

$folderPath = «C:\Path\To\NewFolder»

New-Item -ItemType Directory -Path $folderPath

#Скрипт, удаляющий все файлы старше 7 дней в папке:

$folderPath = «C:\Path\To\Folder»

$limitDate = (Get-Date).AddDays(-7)

Get-ChildItem $folderPath | Where-Object { $_.LastWriteTime -lt $limitDate } | Remove-Item

#Скрипт, проверяющий статус службы:

$serviceName = «wuauserv»

$serviceStatus = Get-Service -Name $serviceName | Select-Object Status

Write-Host «The status of service $serviceName is: $($serviceStatus.Status)»

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

Полезные скрипты PowerShell для Windows

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

Как запустить скрипт в PowerShell?

Существует несколько способов запуска скрипта, вот основные из них:

  1. Запустить оболочку PowerShell и выполнить в ней скрипт, указав путь к файлу и его имя (например, C:\Scripts\test.ps1) или перейдя в каталог скрипта командой cd C:\Scripts и выполнить его с помощью команды .\test.ps1.
  2. Оболочку можно найти и запустить разными способами. Один из них — через меню «Пуск». Для Windows 7 пройдите по следующему пути: «Все программы» — «Стандартные» — «Windows PowerShell» и запустите оболочку «Windows PowerShell». Для Windows 10 найдите группу по букве «W» и в ней выберите «Windows PowerShell».
  3. Запустить «Интегрированную среду сценариев Windows PowerShell ISE», которая представляет собой среду разработки, позволяющую редактировать и отлаживать скрипты PowerShell. Откройте программу, выберите «Открыть» или в меню Файл выберите «Открыть» и укажите нужный скрипт, затем нажмите F5 или кнопку «Выполнить скрипт». Поиск Windows PowerShell ISE можно осуществить так же, как и оболочки PowerShell, через меню «Пуск».
  4. Запустить стандартный командный интерфейс и ввести следующую команду:

PowerShell -file <имя_скрипта> (например: PowerShell -file myscript.ps1)

Если вы ранее не запускали скрипты PowerShell, возможно, вы получите сообщение о том, что файл <имя_скрипта> не может быть загружен, так как выполнение скриптов запрещено для данной системы. В этом случае введите «get-help about_signing» для получения дополнительной информации. Это связано с безопасностью и предотвращением случайного выполнения вредоносного кода, поэтому все скрипты должны быть подписаны цифровой подписью.

Как разрешить выполнение неподписанного скрипта PowerShell?

  • В оболочке PowerShell перед запуском скрипта выполните следующую команду для разрешения выполнения неподписанных скриптов в текущем сеансе оболочки:

Set-ExecutionPolicy RemoteSigned -Scope Process

  • При запуске из стандартного командного интерфейса используйте параметр -executionpolicy, например:

PowerShell -executionpolicy RemoteSigned -file <имя_скрипта>

Оба способа устанавливают политику только для текущего сеанса, при этом политика безопасности выполнения скриптов PowerShell, установленная в реестре, остается неизменной. Если вы хотите изменить политику безопасности выполнения скриптов «навсегда», используйте следующий способ:

  • Разрешить выполнение навсегда: запустите оболочку PowerShell от имени «Администратора» и выполните команду:

Set-ExecutionPolicy RemoteSigned

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

Примечание: Если скрипт был загружен из интернета, чтобы избежать запроса на подтверждение выполнения, используйте параметр Bypass вместо RemoteSigned — это полное отключение любых запросов и предупреждений.

Полезные скрипты PowerShell для Windows

Как запустить скрипт PowerShell в фоновом режиме?

Для этого используйте параметр -WindowStyle, который может принимать значения: Normal, Minimized, Maximized и Hidden. Чтобы запустить неподписанный скрипт в фоновом режиме, выполните команду:

PowerShell -executionpolicy RemoteSigned -WindowStyle Hidden -file <имя_скрипта>

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

Скрипты PowerShell Windows

Как запустить скрипт через PowerShell с параметрами?

Запуск осуществляется аналогично запуску обычной программы или bat-файла с параметрами. Например, чтобы запустить скрипт с параметрами из командной строки, используйте следующую команду:

PowerShell -executionpolicy RemoteSigned -file <имя_скрипта> param1 param2 «еще один текстовый параметр«

В самом скрипте параметры могут быть получены так:

param ($var1, $var2, $var3)

echo $var1, $var2, $var3

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

Выполнение скриптов в PowerShell

Как запустить скрипт PowerShell с помощью ярлыка?

Это можно сделать двумя способами:

  1. Создать файл bat/cmd, в котором прописать команду для запуска скрипта (с параметрами, как описано выше).
  2. Создать ярлык на PowerShell, который находится в папке c:\Windows\System32\WindowsPowerShell\v<версия>\. В свойствах ярлыка в поле «Объект» добавьте необходимые параметры.

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

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

Скрипты PowerShell для администратора

Полезные сценарии для Windows

1. Скрипт выключения Windows (или перезагрузки):

Простейшая операция выключения компьютера. Откройте блокнот и введите:

shutdown -s -t 0

Сохраните файл с расширением *.cmd* (например, *shutdown.cmd*). При запуске этого файла компьютер выключится. Замените «-s» на «-r» для перезагрузки. Параметр «-t» устанавливает таймер; в данном случае, он равен 0 секунд, но можно установить, например, на 60 для выключения через 60 секунд.

2. Удаление ненужных приложений:

С помощью следующего скрипта можно удалить предустановленные приложения:

get-appxpackage -name *APPNAME* | remove-appxpackage

Замените *APPNAME* на название ненужного приложения. Хотя удаление можно выполнить стандартным способом или через программы, этот скрипт делает процесс более удобным.

3. Управление процессами:

Воспользуйтесь PowerShell для борьбы с медленными процессами. Выведите все службы:

Get-Service

Или получите информацию о конкретной службе с кодовым именем *NAME*:

Get-Service *NAME*

Создайте файл, который закрывает процессы с повышенным потреблением ресурсов:

Stop-Service -Name *ANTIVIRUS*

Stop-Service -Name *BROWSER*

Замените *ANTIVIRUS* и *BROWSER* на соответствующие названия.

4. Переименование группы файлов:

Решите проблему однотипных файлов с помощью скрипта группового переименования:

$path = «$comp\desktop\journey\russia»

$filter = ‘*.jpg’

get-childitem -path $path -filter $filter | rename-item -newname {$_.name -replace ‘HGNMD’,’RUSSIA’}

Укажите путь, расширение и выполните замены в строке.

5. Поиск файлов:

Используйте PowerShell для поиска файлов в директории:

Get-Childitem C:\Windows\*.log

Для более сложного поиска в подпапках:

Get-ChildItem C:\Windows\* -Include *.log -Recurse -Force

6. Справка:

Пользуйтесь командой *Get-Help* для получения информации:

Get-Help Services

Для более подробной справки по конкретной команде:

Get-Help —Name *CMDLET*

7. Получение информации о системе:

Используйте PowerShell для получения данных о системе, например, уровне заряда аккумулятора:

Add-Type -AssemblyName System.Windows.Forms

[Windows.Forms.PowerStatus].GetConstructor(‘NonPublic, Instance’, $null, [Type[]]@(), $null ).Invoke($null)

Информация об архитектуре процессора удаленного компьютера:

[PSObject].Assembly.GetType(‘System.Management.Automation.PsUtils’).GetMethod(‘GetProcessorArchitecture’, [Reflection.BindingFlags]40).Invoke($null, @())

Проверка прав администратора текущего пользователя:

[PSObject].Assembly.GetType(‘System.Management.Automation.Utils’).GetMethod(‘IsAdministrator’, [Reflection.BindingFlags]40).Invoke($null, @())

Эти простые и полезные сценарии помогут вам эффективнее управлять вашей системой Windows.

Командные скрипты Windows

Это общий термин, который включает в себя различные типы скриптов и командных файлов, используемых в операционной системе Windows для автоматизации задач. Включают в себя как скрипты на языке командной строки (например, скрипты CMD), так и на более современных языках, таких как PowerShell. Например, Bat-скрипты (*.bat), PowerShell-скрипты (*.ps1), а также другие сценарии, созданные для автоматизации определенных задач.

Bat-скрипты Windows

Bat-скрипты, или файлы пакетных команд (Batch-файлы), представляют собой текстовые файлы, содержащие команды и инструкции для выполнения в командной строке Windows. Основаны на языке пакетных команд (Batch scripting language). Расширение файла: *.bat* (например, *myscript.bat*).

Пример простого bat-скрипта:

«`batch

@echo off

echo Hello, World!

pause

Выполняемые скрипты Windows

Это скрипты, которые могут быть выполнены в среде операционной системы Windows и обычно предназначены для автоматизации различных задач. Включают в себя bat-скрипты (командные файлы), PowerShell-скрипты, а также другие типы скриптов, которые можно выполнять в Windows. Общее отличие между bat-скриптами и PowerShell-скриптами заключается в языке программирования, используемом для написания команд и инструкций. Bat-скрипты используют язык пакетных команд, который является устаревшим и имеет ограниченные возможности по сравнению с PowerShell, который представляет более современный и мощный язык с разнообразными функциональными возможностями для автоматизации задач в Windows.

Какое расширение имеют файлы скриптов PowerShell

PowerShell-скрипты имеют расширение *.ps1*, и для их выполнения часто требуется предварительная настройка политики выполнения скриптов (Execution Policy), чтобы разрешить запуск скрипта через PowerShell в системе.

Скрипты PowerShell для администратора

PowerShell — мощный инструмент для сисадминов Windows, предоставляя широкий набор команд и сценариев для автоматизации и управления системой. Ниже приведены несколько примеров PowerShell-скриптов, которые могут быть полезны администраторам:

1. Создание резервной копии файлов:

$sourcePath = «C:\Path\To\Source»

$destinationPath = «D:\Backup»

$timestamp = Get-Date -Format «yyyyMMddHHmmss»

$backupFolder = «$destinationPath\Backup_$timestamp»

Copy-Item -Path $sourcePath -Destination $backupFolder -Recurse

2. Мониторинг дискового пространства:

$threshold = 80

$disks = Get-WmiObject Win32_LogicalDisk | Where-Object { $_.DriveType -eq 3 }

foreach ($disk in $disks) {

$freeSpacePercentage = [math]::Round(($disk.FreeSpace / $disk.Size) * 100, 2)

$diskLetter = $disk.DeviceID

if ($freeSpacePercentage -lt $threshold) {

Write-Host «Warning: Disk $diskLetter is running low on free space ($freeSpacePercentage%)»

# Можно добавить уведомление администратора

}

}

3. Создание нового пользователя:

$username = «NewUser»

$password = ConvertTo-SecureString «SecurePassword123» -AsPlainText -Force

$fullname = «New User»

$description = «Description of the new user»

$ou = «OU=Users,DC=Domain,DC=com»

New-ADUser -SamAccountName $username -UserPrincipalName «$username@domain.com» -Name $fullname -GivenName $fullname -Surname $username -Description $description -AccountPassword $password -Enabled $true -PassThru -Path $ou

4. Мониторинг событий в журнале событий:

$logName = «System»

$events = Get-WinEvent -LogName $logName -MaxEvents 10

foreach ($event in $events) {

Write-Host «Event ID $($event.Id): $($event.Message)»

}

5. Обновление всех установленных модулей PowerShell:

Get-Module -ListAvailable | ForEach-Object {

Update-Module -Name $_.Name -Force

}

6. Удаление временных файлов в системной директории:

$tempPath = [System.IO.Path]::GetTempPath()

Remove-Item «$tempPath\*» -Force

7. Создание отчета о состоянии служб:

$services = Get-Service | Select-Object DisplayName, Status, StartType

$services | Export-Csv -Path «C:\Path\To\ServiceReport.csv» -NoTypeInformation

8. Настройка правил брандмауэра:

New-NetFirewallRule -DisplayName «Allow-SSH» -Direction Inbound -Protocol TCP -LocalPort 22 -Action Allow

9. Удаление неиспользуемых профилей пользователей:

$inactiveDays = 90

$userProfiles = Get-WmiObject Win32_UserProfile | Where-Object { $_.Special -eq $false }

foreach ($profile in $userProfiles) {

$lastUseDate = $profile.LastUseTime

$difference = (Get-Date) — $lastUseDate

if ($difference.Days -ge $inactiveDays) {

Remove-WmiObject -InputObject $profile -Confirm:$false

Write-Host «User profile $($profile.LocalPath) deleted.»

}

}

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

Для вызова скриптов PowerShell, вы можете использовать команду `Invoke-Expression` или просто указать путь к файлу скрипта. Предположим, у вас есть следующие скрипты: `ClearDisk.ps1`, `InstallPrograms.ps1`, `BackupScript.ps1`, и `UpdateSystem.ps1`.

1. Скрипт очистки диска (ClearDisk.ps1):

# ClearDisk.ps1

# Ваш код для очистки диска

# Пример: удаление временных файлов

Remove-Item -Path «$env:TEMP\*» -Recurse -Force

Как вызвать:

# Используйте Invoke-Expression

Invoke-Expression -Command «.\ClearDisk.ps1»

# Или просто указывайте путь к файлу скрипта

.\ClearDisk.ps1

2. Скрипт автоматической установки программ (InstallPrograms.ps1):

# InstallPrograms.ps1

# Ваш код для автоматической установки программ

# Пример: установка программы Chocolatey и установка пакетов

Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString(‘https://chocolatey.org/install.ps1’))

choco install packageName -y

Как вызвать:

# Используйте Invoke-Expression

Invoke-Expression -Command «.\InstallPrograms.ps1»

# Или просто указывайте путь к файлу скрипта

.\InstallPrograms.ps1

3. Скрипт резервного копирования (BackupScript.ps1):

# BackupScript.ps1

# Ваш код для создания резервной копии

# Пример: копирование файлов в другую директорию

$sourcePath = «C:\Path\To\Source»

$destinationPath = «D:\Backup»

Copy-Item -Path $sourcePath -Destination $destinationPath -Recurse

Как вызвать:

# Используйте Invoke-Expression

Invoke-Expression -Command «.\BackupScript.ps1»

# Или просто указывайте путь к файлу скрипта

.\BackupScript.ps1

4. Скрипт автоматического обновления системы (UpdateSystem.ps1):

# UpdateSystem.ps1

# Ваш код для автоматического обновления системы

# Пример: обновление всех установленных модулей PowerShell

Get-Module -ListAvailable | ForEach-Object {

Update-Module -Name $_.Name -Force

}

Как вызвать:

# Используйте Invoke-Expression

Invoke-Expression -Command «.\UpdateSystem.ps1»

# Или просто указывайте путь к файлу скрипта

.\UpdateSystem.ps1

Убедитесь, что вы находитесь в той же директории, что и ваши скрипты, или укажите полный путь к файлу скрипта.

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

Нередко советы по тем или иным действиям и исправлениям в Windows 10, 8 и Windows 7 включают в себя шаги наподобие: «создайте файл .bat со следующим содержимым и запустите его». Однако, начинающий пользователь не всегда знает, как это сделать и что собой представляет такой файл.

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

Создание .bat файла с помощью блокнота

Первый и самый простой способ создать bat файл — использовать стандартную программу «Блокнот», присутствующую во всех актуальных версиях Windows.

Шаги по созданию будут следующими

  1. Запустите Блокнот (находится в Программы — Стандартные, в Windows 10 быстрее запустить через поиск в панели задач, если блокнота нет в меню «Пуск», запустить его можно из C:\Windows\notepad.exe).
  2. Введите в блокнот код вашего bat файла (например, скопируйте откуда-то, либо напишите свой, о некоторых командах — далее в инструкции). 
    Создание bat файла в блокноте

  3. В меню блокнота выберите «Файл» — «Сохранить как», выберите место сохранение файла, укажите имя файла с расширением .bat и, обязательно, в поле «Тип файла» установите «Все файлы». 
    Сохранение bat файла в блокноте

  4. Нажмите кнопку «Сохранить».

Примечание: если файл не сохраняется в указанное расположение, например, на диск C, с сообщение «У вас нет разрешения на сохранение файлов в этом месте», сохраните его в папку «Документы» или на рабочий стол, а затем скопируйте в нужное расположение (причина проблемы в том, что в Windows 10 для записи в некоторые папки нужны права администратора, а поскольку блокнот не был запущен от имени администратора, он не может сохранить файл в указанную папку).

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

Запуск bat файла от имени администратора

Примечание: в дальнейшем, если вы захотите отредактировать созданный файл, просто нажмите по нему правой кнопкой мыши и выберите «Изменить».

Существуют и другие способы сделать bat файл, но все они сводятся к написанию команд по одной команде в строке в текстовый файл в любом текстовом редакторе (без форматирования), который затем сохраняется с расширением .bat (например, в Windows XP и 32-битной Windows 7 вы даже можете создать файл .bat в командной строке с помощью текстового редактора edit).

Если у вас включено отображение расширений файлов (изменяется в панель управления — параметры проводника — вид — скрывать расширения зарегистрированных типов файлов), то вы можете просто создать файл .txt, затем переименовать файл, установив расширение .bat.

Запуск программ в файле bat и другие базовые команды

В командном файле вы можете запускать любые программы и команды из этого списка: https://technet.microsoft.com/ru-ru/library/cc772390(v=ws.10).aspx (правда, некоторые из указанных могут отсутствовать в Windows 8 и Windows 10). Далее — лишь некоторые базовые сведения для начинающих пользователей.

Чаще всего бывают следующие задачи: запуск программы или нескольких программ из .bat файла, запуск какой-то функции (например, очистка буфера обмена, раздача Wi-Fi с ноутбука, выключение компьютера по таймеру).

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

start "" путь_к_программе

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

start "" "C:\Program Files\program.exe"

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

start "" c:\windows\notepad.exe file.txt

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

Еще одна полезная возможность — запуск другого bat файла из текущего файла, сделать это можно с помощью команды call:

call путь_к_файлу_bat параметры

Переданные параметры при запуске можно прочитать внутри другого bat файла, например, мы вызываем файл с параметрами:

call file2.bat параметр1 параметр2 параметр3

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

echo %1
echo %2
echo %3
pause

Т.е. для каждого параметра мы используем его порядковый номер со знаком процента. Результатом в приведенном примере будет вывод в окно команд всех переданных параметров (команда echo используется для вывода текста в окно консоли).

По умолчанию, окно команд закрывается сразу после выполнения всех команд. Если нужно прочитать информацию внутри окна, используйте команду pause — она остановит выполнение команд (или закрытие окна) до нажатия любой клавиши в консоли со стороны пользователя.

Иногда, перед выполнением очередной команды нужно подождать некоторое время (например, до полного запуска первой программы). Для этого можно использовать команду:

timeout /t время_в_секундах

При желании, вы можете запустить программу в свернутом виде или развернутом видео с помощью параметров MIN и MAX перед указанием самой программы, например:

start "" /MIN c:\windows\notepad.exe

Для закрытия окна команд после выполнения всех команд (хотя, обычно оно и так закрывается при использовании start для запуска), используйте команду exit в последней строке. В случае, если консоль все равно не закрывается после запуска программы, попробуйте использовать такую команду:

cmd /c start /b "" путь_к_программе параметры

Примечание: в данном команде, если пути к программе или параметры содержат пробелы, могут быть проблемы с запуском, которые можно решить так:

cmd /c start "" /d "путь_к_папке_с_пробелами" /b имя_файла_программы "параметры_с_пробелами"

Как уже было отмечено, это лишь очень базовые сведение о наиболее часто используемых командах в bat файлах. При необходимости выполнить дополнительные задачи, попробуйте найти нужную информацию в интернете (поищите, например, «сделать что-то в командной строке» и используйте эти же команды в файле .bat) или задайте вопрос в комментариях, я постараюсь помочь.

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Как узнать имя пользователя компьютера windows 10 через командную строку
  • Настройка bios для установки windows 10 с флешки на ssd
  • Как пользователю получить права администратора в windows 10
  • Информация при загрузке windows
  • Max file name in windows