Руководство по Windows PowerShell для начинающих

Краткий курс по PowerShell для начинающих в администрировании Windows. Что это за скриптовый язык, что такое командлет и как им пользоваться.

You won’t find ordinary here.

The Internet is growing up and we’re right there with it. .com, .net, and .org are no longer the only address extensions for brands, individuals, and organizations to build their online identity. Find which extension describes your product best and brand your way. A strong brand starts with a strong and concise name.

Find the best name possible

We are eager to see some of our best domain names put to use by organizations and individuals who are ready adopt a new TLD for their website. Join our Pioneers Program today.

Built for registrars and registrants

All of our services are centered on the needs of our registrars and registrants. We go to great lengths to create an easy and enjoyable partner experience from TLD launches to partnerships.

Our unique extensions

We own and operate extensions as unique as the interests of Internet users. Representing a cross-section of businesses, individuals, and organizations, our TLDs provide a more intuitive way for people to find what they’re looking for online.

World-class technical infrastructure

UNR’s infrastructure was designed and built to ensure the continuous prosperity of our extensions. Operating our own backend gives us the reliability and flexibility to meet our customers’ needs.

Description

The Get-Help cmdlet displays information about PowerShell concepts and commands, includingcmdlets, functions, Common Information Model (CIM) commands, workflows, providers, aliases, andscripts.

To get help for a PowerShell cmdlet, type Get-Help followed by the cmdlet name, such as:Get-Help Get-Process.

Conceptual help articles in PowerShell begin with about_, such asabout_Comparison_Operators. To see all about_ articles, type Get-Help about_*. To see aparticular article, type Get-Help about_<article-name>, such asGet-Help about_Comparison_Operators.

To get help for a PowerShell provider, type Get-Help followed by the provider name. For example,to get help for the Certificate provider, type Get-Help Certificate.

You can also type help or man, which displays one screen of text at a time. Or,<cmdlet-name> -?, that is identical to Get-Help, but only works for cmdlets.

Get-Help gets the help content that it displays from help files on your computer. Without the helpfiles, Get-Help displays only basic information about cmdlets. Some PowerShell modules includehelp files. Beginning in PowerShell 3.0, the modules that come with the Windows operating systemdon’t include help files. To download or update the help files for a module in PowerShell 3.0, usethe Update-Help cmdlet.

You can also view the PowerShell help documents online in the Microsoft Docs. To get the onlineversion of a help file, use the Online parameter, such as: Get-Help Get-Process -Online. Toread all the PowerShell documentation, see the Microsoft Docs PowerShell Documentation.

If you type Get-Help followed by the exact name of a help article, or by a word unique to a helparticle, Get-Help displays the article’s content. If you specify the exact name of a commandalias, Get-Help displays the help for the original command. If you enter a word or word patternthat appears in several help article titles, Get-Help displays a list of the matching titles. Ifyou enter any text that doesn’t appear in any help article titles, Get-Help displays a list ofarticles that include that text in their contents.

Get-Help can get help articles for all supported languages and locales. Get-Help first looks forhelp files in the locale set for Windows, then in the parent locale, such as pt for pt-BR,and then in a fallback locale. Beginning in PowerShell 3.0, if Get-Help doesn’t find help in thefallback locale, it looks for help articles in English, en-US, before it returns an errormessage or displaying autogenerated help.

For information about the symbols that Get-Help displays in the command syntax diagram, see about_Command_Syntax.For information about parameter attributes, such as Required and Position, see about_Parameters.

Note

In PowerShell 3.0 and PowerShell 4.0, Get-Help can’t find About articles in modules unlessthe module is imported into the current session. This is a known issue. To get About articlesin a module, import the module, either by using the Import-Module cmdlet or by running a cmdletthat’s included in the module.

Команды PowerShell, которые помогут пользователю сделать больше

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

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

  1. Запустите приложение UWP.
  2. Получить справку о любом командлете.
  3. Получите похожие команды.
  4. Найти определенный файл.
  5. Прочитайте содержимое файла.
  6. Найти информацию обо всех услугах на компьютере.
  7. Найти информацию обо всех процессах на компьютере.
  8. Установка политики выполнения.
  9. Скопируйте файл или каталог.
  10. Удалить файл или каталог.

1] Запустите приложение UWP

imge_12235.png

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

Start-Process «ms-settings:»

Команда просто для запуска приложения Windows Настройки UWP. Вы можете узнать больше о других URI для других приложений UWP здесь на microsoft.com.

2] Получите справку о любом командлете

imge_12254.png

Если вы когда-либо не понимаете, какую команду вы должны использовать для выполнения определенной задачи. Или то, что делает конкретный командлет, вам не нужно беспокоиться. Вы можете просто использовать командлет Get-Help, чтобы сделать это. Вы можете использовать его следующими способами:

Get-HelpПолучить помощьGet-Help -FullGet-Help -ExampleGet-Help *

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

3] Получить похожие команды

Чтобы найти команды аналогичного типа или содержащие в себе определенную фразу, вы можете использовать командлет Get-Command . Однако в нем не перечислен каждый командлет в PowerShell, поэтому вы используете некоторые конкретные фильтры. Вы можете использовать следующие команды:

Get-Command -NameGet-Command -CommandType

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

4] Поиск определенного файла

imge_12267.png

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

Get-Item

перечислить содержимое конкретного пути.

5] Прочитайте содержимое файла

imge_12280.png

Если вам нужно прочитать содержимое файла, вы можете использовать команду Get-Content как

Get-Content

6] Прочтите информацию обо всех службах на компьютере .

imge_12293.png

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

Start-ServiceСтоп-ServiceSuspend-ServiceResume-ServiceРестарт-Сервис

7] Читайте информацию обо всех процессах на компьютере

imge_12305.png

Подобно командлету Get-Service, вы можете использовать командлет Get-Process , чтобы вывести список всех процессов, запущенных на вашем компьютере.В качестве альтернативы вы можете использовать следующие связанные командлеты для выполнения соответствующих функций:

Запуск процессаStop-ProcessСлужба ожидания

8] Настройка политики выполнения

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

Set-ExecutionPolicy НеограниченныйSet-ExecutionPolicy Все подписаноSet-ExecutionPolicy Удаленная подписьSet-ExecutionPolicy Restricted

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

9] Скопируйте файл или каталог

imge_12320.png

Пользователь может использовать командлет Copy-Item для копирования одного файла или каталога в другое место назначения. Синтаксис этого командлета

Copy-Item «E: TWCTest.txt» -Destination «D: »

10] Удалить файл или каталог

imge_12335.png

Подобно командлету Copy-Item, пользователь может использовать командлет Copy-Item для копирования одного файла или каталога в другое место назначения. Синтаксис этого командлета

Remove-Item «E: TWCTest.txt»

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

Написание и запуск скриптов

Скрипты сохраняются в виде файлов с расширением .ps1. Несмотря на то, что PowerShell уже давно является нативной частью ОС Windows, вы не сможете запустить его скрипты простым двойным щелчком. Для этого надо кликнуть правой кнопкой по скрипту и выбрать «Запустить в PowerShell».

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

  • Restricted — выполнение скриптов запрещено. Стандартная конфигурация;
  • AllSigned — можно запускать скрипты, подписанные доверенным разработчиком; перед запуском скрипта PowerShell запросит у вас подтверждение;
  • RemoteSigned — можно запускать собственные скрипты или те, что подписаны доверенным разработчиком;
  • Unrestricted — можно запускать любые скрипты.

Для начала работы необходимо изменить настройку политики запуска на RemoteSigned, используя команду Set-ExecutionPolicy:

Команда Set-ExecutionPolicy в PowerShell

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

Работа с переменными

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

  • Get-Variable – выводит список переменных и их значения (или одну указанную переменную);
  • New-Variable – создает новую переменную;
  • Set-Variable – задает значение переменной. Если переменная с указанным именем не существует, то она будет создана;
  • Clear-Variable — удаляет значение переменной;
  • Remove-Variable — удаляет переменную и ее значение.

Заметка! Программирование на языке PowerShell.

Проверка версии PowerShell

Для полноценной работы с оболочкой, и использования доступных функций, необходимо понимать с какой версией PowerShell ведется работа. Для того что бы узнать какая версия PowerShell установлена, необходимо запустить команду $PSVersionTable. На слайде представлен вывод данной команды, после обновления. В нашем случае версия 4.0 Процесс обновления оболочки будет представлен в практической части видео.

osnovy windows powershell sozdanie i zapusk skriptov ustanovka obnovlenie versii powershell ise 4

Работа с элементами

В Windows PowerShell есть командлеты, которые умеют работать с элементами, под элементами здесь можно понимать: файлы, папки, ключи реестра и так далее.

  • Clear-Item — очищает содержимое элемента, но не удаляет сам элемент;
  • Copy-Item – копирует элемент;
  • Get-Item — получает элемент в указанном месте;
  • Invoke-Item — выполняет действие по умолчанию над указанным элементом;
  • Move-Item – перемещает элемент;
  • New-Item – создает новый элемент;
  • Remove-Item – удаляет указанные элементы;
  • Rename-Item — переименовывает элемент в пространстве имен поставщика Windows PowerShell;
  • Set-Item — изменяет элемент;
  • Get-ChildItem — возвращает элементы и дочерние элементы в одном или нескольких определенных местах;
  • Get-Location – выводит информацию о текущем местонахождении.

Inputs

None

You can’t send objects down the pipeline to Get-Help.

Доступ к системному журналу

При попытке обнаружения причин сбоев мы часто обращаемся к системному журналу, в котором хранится множество полезной информации о событиях, происходивших в системе. Обычно для исследования системного журнала применяется утилита Event Viewer (eventvwr.exe). В PowerShell мы можем воспользоваться встроенными командами, например командой get-eventlog, для быстрого исследования содержимого системного журнала (рис. 16).

Рис. 16

Наша первая команда загружает ключевую информацию из системного журнала:

PS C:> get-eventlog –list

Без использования опции –list PowerShell запросит точное указание названия системного журнала. В нашем примере мы видим несколько точек входа в системном журнале: Application, Internet Explorer, System, Windows Power Shell и т.п. Наша следующая команда извлекает записи из системного журнала, которые имеют тип “Error”:

PS C:> $bad = get-eventlog “System” | where-object { $_.EntryType –eq “Error” }

Мы используем команду get-eventlog, которой указываем параметр “System” для извлечения только системных записей, — мы могли бы более четко задать это, применив параметр logName. Содержимое переменной $bad передается на вход команде where-object для фильтрации только интересующих нас записей. В качестве аргументов команды where-object мы указываем на то, что ищем только записи, у которых свойство EntryType равно “Error”.

Мы завершаем исследование системного журнала выводом на экран пяти последних записей об ошибках, используя для этого команду select-object с параметром –last:

PS C:> $bad | select-object –last 5

ПОЛЕЗНОЕ ВИДЕО

До новых полезных компьютерных программ и советов.

svengaliУверенный пользователь трех домашних ПК с многолетним опытом, «компьютерщик» для всех родственников, соседей и знакомых, в течении 11-ти лет автор более тысячи обзоров интересных и полезных программ для компьютера на собственном софтовом блоге OptimaKomp.RU

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

Уже более 8-ми тысяч читателей подписалось — присоединяйтесь! ;)

Работа с Hyper-V

Для работы с Hyper-V в Windows PowerShell существует много командлетов, вот небольшой перечень:

  • New-VM — создание новой виртуальной машины;
  • Set-VM — настройка виртуальной машины;
  • Start-VM — запуск виртуальной машины;
  • Stop-VM — закрытие, выключение или сохранение виртуальной машины;
  • Import-VM — импорт виртуальной машины из файла;
  • Move-VM — перемещение виртуальной машины на новый Hyper-V хост;
  • Remove-VM — удаление виртуальной машины;
  • Rename-VM — переименование виртуальной машины;
  • New-VHD — создание одного или нескольких новых виртуальных жестких дисков;
  • Set-VHD – настройка виртуального жесткого диска;
  • Test-VHD — тестирование виртуального жесткого диска на предмет обнаружения проблем, которые сделали бы его непригодным для использования;
  • Add-VMDvdDrive — добавляет DVD диск к виртуальной машине;
  • Remove-VMDvdDrive — удаляет DVD-диск из виртуальной машины;
  • Add-VMHardDiskDrive — добавляет жесткий диск к виртуальной машине;
  • Remove-VMHardDiskDrive — удаляет один или несколько виртуальных жестких дисков (VHD) из виртуальной машины;
  • Add-VMNetworkAdapter — добавляет виртуальный сетевой адаптер на виртуальной машине;
  • Remove-VMNetworkAdapter — удаляет один или несколько виртуальных сетевых адаптеров из виртуальной машины;
  • Copy-VMFile — копирование файлов на виртуальную машину;
  • Get-VMVideo – выводит информацию о настройках видео для виртуальных машин;
  • Move-VMStorage — перемещение хранилища виртуальной машины.

Заметка! Описание компонентов сервера в Windows Server 2016.

Работа с фоновыми заданиями

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

  • Start-Job – запустить фоновую задачу;
  • Stop-Job – остановить фоновую задачу
  • Get-Job – посмотреть список фоновых задач;
  • Receive-Job – посмотреть результат выполнения фоновой задачи;
  • Remove-Job – удалить фоновую задачу;
  • Wait-Job – перевести фоновую задачу на передний план, для того чтобы дожидаться ее окончания.

Сетевые ресурсы

PowerShell — основная страница: http://www.microsoft.com/windowsserver2003/technologies/management/powershell/default.mspx

Примеры программ и шпаргалка: https://comparite.ch/powershell.

Блог команды разработчиков продукта: http://blogs.msdn.com/PowerShell/.

Утилиты, редакторы и дополнения: http://www.powershell.com/.

PowerShell SDK: http://msdn2.microsoft.com/en-us/library/ms714469.aspx.

Блог Дмитрия Сотникова из компании Quest: http://dmitrysotnikov.wordpress.com/.

PowerGadgets — пример неограниченных возможностей расширения PowerShell: http://powergadgets.com/.

КомпьютерПресс 11’2007

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: