- Добавление и вызов команд Adding and invoking commands
- Создание конвейера Creating a pipeline
- AddCommand AddCommand
- аддпараметер AddParameter
- аддстатемент AddStatement
- аддскрипт AddScript
- Синхронный вызов конвейера Invoking a pipeline synchronously
- Асинхронный вызов конвейера Invoking a pipeline asynchronously
- Написание и запуск сценариев в интегрированной среде сценариев Windows PowerShell How to Write and Run Scripts in the Windows PowerShell ISE
- Создание и выполнение сценариев How to create and run scripts
- Создание файла сценария To create a new script file
- Открытие существующего сценария To open an existing script
- Закрытие вкладки сценария To close a script tab
- Отображение пути к файлу To display the file path
- Запуск сценария To run a script
- Выполнение части сценария To run a portion of a script
- Остановка выполняемого сценария To stop a running script
- Написание и редактирование текста в области сценариев How to write and edit text in the Script Pane
- Ввод текста в области сценариев To enter text in the Script Pane
- Поиск текста в области сценариев To find text in the Script Pane
- Поиск и замена текста в области сценариев To find and replace text in the Script Pane
- Переход к определенной строке текста в области сценариев To go to a particular line of text in the Script Pane
- Копирование текста в области сценариев To copy text in the Script Pane
- Вырезание текста в области сценариев To cut text in the Script Pane
- Вставка текста в области сценариев To paste text into the Script Pane
- Отмена действия в области сценариев To undo an action in the Script Pane
- Повторное выполнение действия в области сценариев To redo an action in the Script Pane
- Сохранение сценария How to save a script
- Сохранение сценария To save a script
- Сохранение сценария с определенным именем To save and name a script
- Сохранение сценария в кодировке ASCII To save a script in ASCII encoding
Добавление и вызов команд Adding and invoking commands
После создания пространства выполнения можно добавить в конвейер Повершеллкоммандс и скрипты Windows, а затем вызывать конвейер синхронно или асинхронно. After creating a runspace, you can add Windows PowerShellcommands and scripts to a pipeline, and then invoke the pipeline synchronously or asynchronously.
Создание конвейера Creating a pipeline
Класс System. Management. Automation. PowerShell предоставляет несколько методов для добавления команд, параметров и скриптов в конвейер. The System.Management.Automation.Powershell class provides several methods to add commands, parameters, and scripts to the pipeline. Конвейер можно вызвать синхронно, вызвав перегрузку метода System. Management. Automation. PowerShell. Invoke * или асинхронно, вызвав перегрузку метода System. Management. Automation. PowerShell. BeginInvoke * , а затем метод System. Management. Automation. PowerShell. EndInvoke * . You can invoke the pipeline synchronously by calling an overload of the System.Management.Automation.Powershell.Invoke* method, or asynchronously by calling an overload of the System.Management.Automation.Powershell.Begininvoke* and then the System.Management.Automation.Powershell.Endinvoke* method.
AddCommand AddCommand
Добавьте команду, которую требуется выполнить. Add the command that you want to execute.
Вызовите команду. Invoke the command.
Если метод System. Management. Automation. PowerShell. AddCommand * вызывается более одного раза перед вызовом метода System. Management. Automation. PowerShell. Invoke * , результат первой команды передается второму и т. д. If you call the System.Management.Automation.Powershell.Addcommand* method more than once before you call the System.Management.Automation.Powershell.Invoke* method, the result of the first command is piped to the second, and so on. Если вы не хотите передавать результат предыдущей команды команде, добавьте ее, вызвав метод System. Management. Automation. PowerShell. аддстатемент * . If you do not want to pipe the result of a previous command to a command, add it by calling the System.Management.Automation.Powershell.Addstatement* instead.
аддпараметер AddParameter
В предыдущем примере выполняется одна команда без параметров. The previous example executes a single command without any parameters. Можно добавить параметры в команду с помощью метода System. Management. Automation. пскомманд. аддпараметер *. например, следующий код возвращает список всех процессов, именованных PowerShell на компьютере. You can add parameters to the command by using the System.Management.Automation.Pscommand.Addparameter* method For example, the following code gets a list of all of the processes that are named PowerShell running on the machine.
Можно добавить дополнительные параметры путем многократного вызова System. Management. Automation. пскомманд. аддпараметер * . You can add additional parameters by calling System.Management.Automation.Pscommand.Addparameter* repeatedly.
Также можно добавить словарь имен и значений параметров, вызвав метод System. Management. Automation. PowerShell. аддпараметерс * . You can also add a dictionary of parameter names and values by calling the System.Management.Automation.Powershell.Addparameters* method.
аддстатемент AddStatement
Пакетную обработку можно имитировать с помощью метода System. Management. Automation. PowerShell. аддстатемент * , который добавляет дополнительный оператор в конец конвейера. следующий код возвращает список запущенных процессов с именем PowerShell , а затем получает список запущенных служб. You can simulate batching by using the System.Management.Automation.Powershell.Addstatement* method, which adds an additional statement to the end of the pipeline The following code gets a list of running processes with the name PowerShell , and then gets the list of running services.
аддскрипт AddScript
Можно запустить существующий скрипт, вызвав метод System. Management. Automation. PowerShell. аддскрипт * . You can run an existing script by calling the System.Management.Automation.Powershell.Addscript* method. В следующем примере в конвейер добавляется скрипт и выполняется его выполнение. The following example adds a script to the pipeline and runs it. В этом примере предполагается, что в папке уже есть скрипт с именем MyScript.ps1 D:\PSScripts . This example assumes there is already a script named MyScript.ps1 in a folder named D:\PSScripts .
Существует также версия метода System. Management. Automation. PowerShell. аддскрипт * , принимающая логический параметр с именем useLocalScope . There is also a version of the System.Management.Automation.Powershell.Addscript* method that takes a boolean parameter named useLocalScope . Если этот параметр имеет значение true , скрипт выполняется в локальной области. If this parameter is set to true , then the script is run in the local scope. Следующий код запустит скрипт в локальной области. The following code will run the script in the local scope.
Синхронный вызов конвейера Invoking a pipeline synchronously
После добавления элементов в конвейер вы вызываете его. After you add elements to the pipeline, you invoke it. Для синхронного вызова конвейера вызывается перегрузка метода System. Management. Automation. PowerShell. Invoke * . To invoke the pipeline synchronously, you call an overload of the System.Management.Automation.Powershell.Invoke* method. В следующем примере показано, как синхронно вызвать конвейер. The following example shows how to synchronously invoke a pipeline.
Асинхронный вызов конвейера Invoking a pipeline asynchronously
Асинхронный вызов конвейера вызывает перегрузку System. Management. Automation. PowerShell. BeginInvoke * для создания объекта IAsyncResult и последующего вызова метода System. Management. Automation. PowerShell. EndInvoke * . You invoke a pipeline asynchronously by calling an overload of the System.Management.Automation.Powershell.Begininvoke* to create an IAsyncResult object, and then calling the System.Management.Automation.Powershell.Endinvoke* method.
В следующем примере показано, как вызвать конвейер асинхронно. The following example shows how to invoke a pipeline asynchronously.
Написание и запуск сценариев в интегрированной среде сценариев Windows PowerShell How to Write and Run Scripts in the Windows PowerShell ISE
В этой статье описано как создавать, редактировать, выполнять и сохранять скрипты в области скриптов. This article describes how to create, edit, run, and save scripts in the Script Pane.
Создание и выполнение сценариев How to create and run scripts
В области скриптов можно открывать и редактировать файлы Windows PowerShell. You can open and edit Windows PowerShell files in the Script Pane. Сейчас нас интересуют следующие типы файлов Windows PowerShell: файлы скриптов ( .ps1 ), файлы данных скриптов ( .psd1 ) и файлы модулей скриптов ( .psm1 ). Specific file types of interest in Windows PowerShell are script files ( .ps1 ), script data files ( .psd1 ), and script module files ( .psm1 ). Эти типы файлов имеют цветовую подсветку синтаксиса в редакторе области сценариев. These file types are syntax colored in the Script Pane editor. Другие стандартные файлы, которые можно открыть в области сценариев, — это файлы конфигурации ( .ps1xml ), XML-файлы и текстовые файлы. Other common file types you may open in the Script Pane are configuration files ( .ps1xml ), XML files, and text files.
Политика выполнения Windows PowerShell определяет, можно ли выполнять сценарии, загружать профили Windows PowerShell и файлы конфигурации. The Windows PowerShell execution policy determines whether you can run scripts and load Windows PowerShell profiles and configuration files. Политика выполнения по умолчанию, Restricted, запрещает выполнение сценариев и блокирует загрузку профилей. The default execution policy, Restricted, prevents all scripts from running, and prevents loading profiles. Чтобы изменить эту политику выполнения и разрешить загрузку и использование профилей, см. описание Set-ExecutionPolicy и about_Signing. To change the execution policy to allow profiles to load and be used, see Set-ExecutionPolicy and about_Signing.
Создание файла сценария To create a new script file
Нажмите кнопку Создать на панели инструментов или откройте меню Файл и выберите Создать . On the toolbar, click New , or on the File menu, click New . Созданный файл появится в новой вкладке, расположенной под текущей вкладкой PowerShell. Помните, что вкладки PowerShell отображаются, только если их несколько. The created file appears in a new file tab under the current PowerShell tab. Remember that the PowerShell tabs are only visible when there are more than one. По умолчанию создается файл сценария ( .ps1 ), но его можно сохранить с новым именем и расширением. By default a file of type script ( .ps1 ) is created, but it can be saved with a new name and extension. На одной вкладке PowerShell может быть создано несколько файлов сценариев. Multiple script files can be created in the same PowerShell tab.
Открытие существующего сценария To open an existing script
Нажмите кнопку Открыть. на панели инструментов или откройте меню Файл и выберите пункт Открыть . On the toolbar, click Open , or on the File menu, click Open . В диалоговом окне Открыть выберите файл, который требуется открыть. In the Open dialog box, select the file you want to open. Открытый файл появится в новой вкладке. The opened file appears in a new tab.
Закрытие вкладки сценария To close a script tab
На вкладке файла, которую нужно закрыть, щелкните значок закрытия ( X ) или откройте меню File (Файл) и выберите Close (Закрыть). Click the Close icon ( X ) of the file tab you want to close or select the File menu and click Close .
Если файл был изменен с момента последнего сохранения, будет предложено сохранить или отменить изменения. If the file has been altered since it was last saved, you’re prompted to save or discard it.
Отображение пути к файлу To display the file path
На вкладке файла наведите курсор на его имя. On the file tab, point to the file name. Появится подсказка с полным путем к файлу сценария. The fully qualified path to the script file appears in a tooltip.
Запуск сценария To run a script
Нажмите кнопку Выполнить сценарий на панели инструментов или откройте меню Файл и выберите пункт Выполнить . On the toolbar, click Run Script , or on the File menu, click Run .
Выполнение части сценария To run a portion of a script
- Выберите часть сценария в области сценариев. In the Script Pane, select a portion of a script.
- Нажмите кнопку Выполнить выделенный фрагмент на панели инструментов или откройте меню Файл и выберите пункт Выполнить выделенный фрагмент . On the File menu, click Run Selection , or on the toolbar, click Run Selection .
Остановка выполняемого сценария To stop a running script
Есть несколько способов остановить выполняемый скрипт. There are several ways to stop a running script.
- На панели инструментов щелкните Остановить операцию . Click Stop Operation on the toolbar
- Нажмите CTRL + BREAK . Press CTRL + BREAK
- В меню Файл выберите Остановить операцию . Select the File menu and click Stop Operation .
Нажатие клавиш CTRL + C также сработает, если нет выделенного текста. В противном случае нажатие клавиш CTRL + C приведет к копированию выделенного текста. Pressing CTRL + C also works unless some text is currently selected, in which case CTRL + C maps to the copy function for the selected text.
Написание и редактирование текста в области сценариев How to write and edit text in the Script Pane
В области скриптов текст можно копировать, вырезать, вставлять, искать и заменять. You can copy, cut, paste, find, and replace text in the Script Pane. Также можно отменить и повторить последнее выполненное действие. You can also undo and redo the last action you just performed. Для этого используются те же клавиши, как и во всех других приложениях Windows. The keyboard shortcuts for these actions are the same shortcuts used for all Windows applications.
Ввод текста в области сценариев To enter text in the Script Pane
- Установите курсор в область сценариев, щелкнув кнопкой мыши любую ее часть или выбрав пункт Перейти в область сценариев в меню Вид . Move the cursor to the Script Pane by clicking anywhere in the Script Pane, or by clicking Go to Script Pane in the View menu.
- Создайте сценарий. Create a script. Цветовая подсветка синтаксиса и заполнение нажатием клавиши TAB обеспечивают более широкие возможности для редактирования в интегрированной среде скриптов Windows PowerShell. Syntax coloring and tab completion provide a richer editing experience in Windows PowerShell ISE.
- Подробную информацию о заполнении нажатием клавиши TAB, помогающем при вводе кода, см. в статье How to Use Tab Completion in the Script Pane and Console Pane (Использование заполнения нажатием клавиши TAB в областях сценариев и консоли). See How to Use Tab Completion in the Script Pane and Console Pane for details about using the tab completion feature to help in typing.
Поиск текста в области сценариев To find text in the Script Pane
- Чтобы найти текст в любой части скрипта, нажмите клавиши CTRL + F или выберите Find in Script (Найти в сценарии) в меню Edit (Правка). To find text anywhere, press CTRL + F or, on the Edit menu, click Find in Script .
- Чтобы найти текст после курсора, нажмите клавишу F3 или выберите Найти следующее в сценарии в меню Правка . To find text after the cursor, press F3 or, on the Edit menu, click Find Next in Script .
- Чтобы найти текст до курсора, нажмите клавиши SHIFT + F3 или выберите Find Previous in Script (Найти предыдущее в сценарии) в меню Edit (Правка). To find text before the cursor, press SHIFT + F3 or, on the Edit menu, click Find Previous in Script .
Поиск и замена текста в области сценариев To find and replace text in the Script Pane
Нажмите клавиши CRTL + H или в меню Edit (Правка) выберите Replace in Script (Заменить в сценарии). Press CTRL + H or, on the Edit menu, click Replace in Script . Введите текст, который нужно найти, и замещающий текст, затем нажмите клавишу ВВОД . Enter the text you want to find and the replacement text, then press ENTER .
Переход к определенной строке текста в области сценариев To go to a particular line of text in the Script Pane
В области сценариев нажмите клавиши CTRL + G или выберите Go to Line (Перейти к строке) в меню Edit (Правка). In the Script Pane, press CTRL + G or, on the Edit menu, click Go to Line .
Введите номер строки. Enter a line number.
Копирование текста в области сценариев To copy text in the Script Pane
В области сценариев выделите текст, который требуется скопировать. In the Script Pane, select the text that you want to copy.
Нажмите клавиши CTRL + C , щелкните значок Copy (Копировать) на панели инструментов или выберите Copy (Копировать) в меню Edit (Правка). Press CTRL + C or, on the toolbar, click the Copy icon, or on the Edit menu, click Copy .
Вырезание текста в области сценариев To cut text in the Script Pane
- В области сценариев выделите текст, который требуется вырезать. In the Script Pane, select the text that you want to cut.
- Нажмите клавиши CTRL + X , щелкните значок Cut (Вырезать) на панели инструментов или выберите Cut (Вырезать) в меню Edit (Правка). Press CTRL + X or, on the toolbar, click the Cut icon, or on the Edit menu, click Cut .
Вставка текста в области сценариев To paste text into the Script Pane
Нажмите клавиши CTRL + V , щелкните значок Paste (Вставить) на панели инструментов или выберите Paste (Вставить) в меню Edit (Правка). Press CTRL + V or, on the toolbar, click the Paste icon, or on the Edit menu, click Paste .
Отмена действия в области сценариев To undo an action in the Script Pane
Нажмите клавиши CTRL + Z , щелкните значок Undo на панели инструментов или выберите Отменить в меню Правка . Press CTRL + Z or, on the toolbar, click the Undo icon, or on the Edit menu, click Undo .
Повторное выполнение действия в области сценариев To redo an action in the Script Pane
Нажмите клавиши CTRL + Y , щелкните значок Повторить на панели инструментов или выберите Повторить в меню Правка . Press CTRL + Y or, on the toolbar, click the Redo icon, or on the Edit menu, click Redo .
Сохранение сценария How to save a script
Звездочка рядом с именем скрипта обозначает, что файл не был сохранен после изменения. An asterisk appears next to the script name to mark a file that hasn’t been saved since it was changed. После сохранения звездочка исчезает. The asterisk disappears when the file is saved.
Сохранение сценария To save a script
Нажмите клавиши CTRL + S , щелкните значок Сохранить на панели инструментов или выберите Сохранить в меню Файл . Press CTRL + S or, on the toolbar, click the Save icon, or on the File menu, click Save .
Сохранение сценария с определенным именем To save and name a script
- В меню Файл выберите команду Сохранить как . On the File menu, click Save As . Появится диалоговое окно Сохранить как . The Save As dialog box will appear.
- В поле Имя файла введите имя файла. In the File name box, enter a name for the file.
- В поле Тип файла выберите тип файла. In the Save as type box, select a file type. Например, в поле Тип сохраняемого файла выберите «Скрипты PowerShell ( *.ps1 )». For example, in the Save as type box, select ‘PowerShell Scripts ( *.ps1 )’.
- Выберите команду Сохранить . Click Save .
Сохранение сценария в кодировке ASCII To save a script in ASCII encoding
По умолчанию интегрированная среда сценариев Windows PowerShell сохраняет новые файлы сценариев ( .ps1 ), файлы данных сценариев ( .psd1 ) и файлы модулей сценариев ( .psm1 ) в кодировке Юникод (BigEndianUnicode). By default, Windows PowerShell ISE saves new script files ( .ps1 ), script data files ( .psd1 ), and script module files ( .psm1 ) as Unicode (BigEndianUnicode) by default. Чтобы сохранить сценарий в другой кодировке, например ASCII (ANSI), используйте методы Save или SaveAs объекта $psISE.CurrentFile. To save a script in another encoding, such as ASCII (ANSI), use the Save or SaveAs methods on the $psISE.CurrentFile object.
Следующая команда сохраняет новый сценарий в кодировке ASCII и с именем MyScript.ps1: The following command saves a new script as MyScript.ps1 with ASCII encoding.
Следующая команда заменяет текущий файл сценария на файл с таким же именем, но в кодировке ASCII: The following command replaces the current script file with a file with the same name, but with ASCII encoding.
Следующая команда возвращает кодировку текущего файла: The following command gets the encoding of the current file.
Интегрированная среда скриптов Windows PowerShell поддерживает следующие параметры кодировки: ASCII, BigEndianUnicode, Unicode, UTF32, UTF7, UTF8 и Default. Windows PowerShell ISE supports the following encoding options: ASCII, BigEndianUnicode, Unicode, UTF32, UTF7, UTF8, and Default. Значение параметра Default зависит от системы. The value of the Default option varies with the system.
Интегрированная среда скриптов Windows PowerShell не изменяет кодировку файлов скриптов при использовании команд «Сохранить» или «Сохранить как». Windows PowerShell ISE doesn’t change the encoding of script files when you use the Save or Save As commands.