Повестка дня
- Введение в Powershell
- Потребность в PowerShell
- Основа Powershell
- Почему это лучше, чем альтернативы?
- Самые популярные административные команды Powershell
- Работа с конвейером
- Выбор, сортировка, измерение, экспорт, импорт, преобразование, фильтрация, передача данных в конвейере.
- Использование провайдеров PS и PSDrives
- Форматирование вывода
- Введение в WMI (инструментарий управления Windows)
- Цикл (для / для-каждого / пока)
- Принимайте вводимые пользователем данные
- Вывод на дисплей
- Эта оболочка основана на командной строке или может быть включена в графический интерфейс.
- Разработано Microsoft
- На основе .Net Framework
- Он включает скрипты.
- Возможность взаимодействия с другим программным обеспечением на базе Windows, например: -
- Citrix, SQL, AD, любые открытые API, такие как Slack и т. Д.
Что нужно?
- Microsoft описывает PowerShell как «основанную на задачах оболочку командной строки и язык сценариев… построенный на .NET Framework». Что такого хорошего в PowerShell? Зачем вам его использовать?
- PowerShell - это и оболочка командной строки, и язык сценариев.
- PowerShell может взаимодействовать с огромным количеством технологий.
- .NET Framework, Реестр, COM, WMI, ADSI. Обмен, Sharepoint, Системный центр, Hyper-V, SQL. , Cisco UCS, Citrix XenApp и XenDesktop. REST API, XML, CSV, JSON, веб-сайты, Excel и другие приложения Office. , DLL и другие двоичные файлы, включая инструменты * nix.
- PowerShell основан на объектах. Это дает нам невероятную гибкость. Фильтруйте, сортируйте, измеряйте, группируйте, сравнивайте или выполняйте другие действия с объектами, когда они проходят через конвейер. Работайте со свойствами и методами, а не с необработанным текстом.
- Microsoft делает все возможное для PowerShell. PowerShell никуда не денется. Это требование согласно критериям Microsoft Common Engineering, и серверный продукт не может поставляться без интерфейса PowerShell.
- Во многих случаях Microsoft создает свой графический интерфейс только с помощью Powershell. Здесь мы можем сделать больше, чем мы думаем о графическом интерфейсе.
- PowerShell также предоставляет хостинг, с помощью которого среда выполнения PowerShell может быть встроена в другие приложения.
BackGround
- В каждой выпущенной версии Microsoft DOS и Microsoft Windows для персональных компьютеров есть Shell, поэтому до Windows9x он полагался на Command.com, а позже в семействе NT он появился как cmd.exe.
- В 1998 году MS запустила Cscript.exe, чтобы обеспечить совместимые языки сценариев, такие как Jscript и VBScript.
- К 2002 году Microsoft начала разрабатывать новый подход к управлению командной строкой, включая оболочку под названием Monad (также известную как Microsoft Shell или MSH).
- Версия 1 PowerShell была выпущена 26 сентября 2006 г., но официально выпущена 14 ноября 2006 г.
- PowerShell v2.0 был завершен и выпущен в производство в августе 2009 года как неотъемлемая часть Windows 7 и Windows Server 2008 R2.
- 18 августа 2016 года Microsoft объявила, что они сделали PowerShell с открытым исходным кодом и кроссплатформенным с поддержкой Windows, OS X, CentOS и Ubuntu.
- Переход на открытый исходный код создал второе воплощение PowerShell под названием PowerShell Core, работающее на .NET Core. Он отличается от Windows PowerShell, которая работает на полной .NET Framework. Начиная с версии 5.1, PowerShell Core поставляется в комплекте с сервером Windows Server 2016 Nano.
Встроенные инструменты
* Powershell лучше, чем его устаревшие альтернативы, такие как -VBScripting, Bash
* Единый синтаксис, последовательная структура команд
* Надежность за счет интеграции .NET
* Поддержка через справку и документацию (Get-Help)
В любом случае это легко узнать, нужна лишь подсказка. (Get-Command «* Сервис *»)
- Перемещайтесь по реестру Windows, как по файловой системе: cd hkcu:
- Рекурсивный поиск определенной строки в файлах: dir -r | выберите строку «искать это»
- Найдите пять процессов, использующих наибольший объем памяти: ps | sort -p ws | выберите -последний 5
- Выполните цикл службы (остановите, а затем перезапустите ее), например DHCP: Restart-Service DHCP
- Список всех элементов в папке: Get-ChildItem - Force
- Рекурсия по серии каталогов или папок: Get-ChildItem -Force c: \ directory -Recurse
- Удалить все файлы в каталоге без запроса каждого из них: Remove-Item C: \ tobedeleted -Recurse
- Перезагрузите текущий компьютер: (Get-WmiObject -Class Win32_OperatingSystem -ComputerName.). Win32Shutdown (2)
- Получите информацию о марке и модели компьютера: Get-WmiObject -Class Win32_ComputerSystem
- Получите информацию о BIOS текущего компьютера: Get-WmiObject -Class Win32_BIOS -ComputerName.
- Список установленных исправлений - QFE или файлы Центра обновления Windows: Get-WmiObject -Class Win32_QuickFixEngineering -ComputerName. Получить имя пользователя человека, который в данный момент вошел в систему на компьютере:
- Get-WmiObject -Class Win32_ComputerSystem -Property UserName -ComputerName.
- Найдите только названия установленных приложений на текущем компьютере:
- Get-WmiObject -Class Win32_Product -ComputerName. | Широкий формат - столбец 1
- Получить IP-адреса, назначенные текущему компьютеру: Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Filter IPEnabled = TRUE -ComputerName. | Формат-Таблица -Свойство IP-адрес
- Получите более подробный отчет о конфигурации IP для текущего компьютера: Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Filter IPEnabled = TRUE -ComputerName. | Select-Object -Property [a-z] * -ExcludeProperty IPX *, WINS *
- Найдите сетевые карты с включенным DHCP на текущем компьютере: Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Filter «DHCPEnabled = true» -ComputerName.
- Включите DHCP на всех сетевых адаптерах на текущем компьютере:
- Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Filter IPEnabled = true -ComputerName. | ForEach-Object -Process {$ _. EnableDHCP ()}
Управление программным обеспечением
- Установите пакет MSI на удаленный компьютер: (Get-WMIObject -ComputerName TARGETMACHINE -List | Where-Object -FilterScript {$ _. Name -eq «Win32_Product»}). Установить (\\ MACHINEWHEREMSIRESIDES \ path \ package.msi)
- Обновите установленное приложение с помощью пакета обновления приложения на основе MSI:
- (Get-WmiObject -Class Win32_Product -ComputerName. -Filter «Name =’ name_of_app_to_be_upgraded ’»). Обновление (\\ MACHINEWHEREMSIRESIDES \ path \ upgrade_package.msi)
- Удалите пакет MSI с текущего компьютера: (Get-WmiObject -Class Win32_Product -Filter «Name =’ product_to_remove ’» -ComputerName.) .Uninstall ()
$ var = Read-Host -AsSecureString
Фильтрация
foreach ($ element in 1..9) {
Write-Host -NoNewLine «$ {element}»
Пуск-Сон-Секунды 1
Запись-Хост ""
Запись-вывод
Циклы
Цикл "пока / делать-пока"
$ val ++ Write-Host $ val
} пока ($ val -ne 10)
Импорт
Первоначально опубликовано на https://www.mytectra.com.