Начало работы с PowerShell или просто нужно освежить в памяти? В этом совете перечислены наиболее распространенные команды PowerShell с подробной информацией о том, когда их использовать.
Несмотря на то, что Windows PowerShell существует уже некоторое время, многие администраторы могут быть не знакомы с командлетами PowerShell . Но по мере того, как Microsoft расширяет функциональность PowerShell , администраторы должны проявлять интерес к пониманию его основных возможностей.
Давайте рассмотрим 25 основных команд PowerShell, с помощью которых вы можете выполнять задачи. Не только сами задачи являются общими, но и структуры команд демонстрируют синтаксис и структуру других команд PowerShell. Эти основные команды PowerShell помогут вам начать путь к тому, чтобы стать мастером.
Общие записи (просто для начала)
1. КД ХККУ:
PowerShell позволяет перемещаться по реестру Windows как по файловой системе.
Команда CD осталась со времен дисковых операционных систем (DOS) и расшифровывалась как «Изменить каталог». Хотя команда CD работает в PowerShell, на самом деле это не команда PowerShell. Это псевдоним или ярлык для командлета Set-Location . HKCU — это сокращение от HKEY_CURRENT_USER.
2. Направление –r | Select-String «поиск этого»
Эта команда позволяет вам рекурсивно искать текст в файловой структуре, потому что она ищет имена файлов, а не содержимое файла. Ключ -r делает поиск рекурсивным, что означает, что PowerShell будет искать как в текущем каталоге, так и в подкаталогах.
Как и команда CD , команда Dir является пережитком DOS. Во времена DOS команда Dir отображала содержимое текущей папки. В PowerShell Dir — это псевдоним командлета Get-ChildItem .
3. Получить-Процесс | Sort-Object –p ws | Select-Object – последние 5
Эта команда находит пять процессов, использующих больше всего памяти. Командлет Get -Process извлекает список процессов, а часть команды Sort-Object указывает PowerShell сортировать результаты по памяти рабочего набора ( ws ). Часть команды Select-Object отображает первые пять результатов.
4. Перезапуск службы DHCP
Команда Restart-Service циклически запускает службу, останавливая и перезапуская ее. В этом случае команда Restart-Service используется для перезапуска службы протокола динамической конфигурации хоста (DHCP).
Командлет Get-ChildItem, используемый сам по себе, выводит список всех элементов в папке.
6. Get-ChildItem c:\directory -Recurse
Вы можете добавить путь к командлету Get-ChildItem , чтобы PowerShell отобразил содержимое указанной папки. Добавление параметра -Recurse приводит к тому, что PowerShell также отображает содержимое всех подпапок.
7. Удалить элемент C:\ToBeDeleted
Командлет Remove-Item используется для удаления файла или папки. При удалении папки вы можете добавить параметр -Recurse , чтобы удалить файлы в папке.
8. Перезагрузите компьютер
Командлет Restart-Computer перезагружает систему. Вы также можете добавить параметр -ComputerName для перезагрузки удаленной системы.
Сбор информации
9. Get-WmiObject -Класс Win32_ComputerSystem
Эта команда извлекает марку и модель компьютера.
10. Get-WmiObject-Класс Win32_BIOS
Эта команда отображает информацию о BIOS текущего компьютера, такую как серийный номер и версия.
11. Получить исправление
Команда Get-Hotfix отображает список установленных исправлений или технических обновлений быстрого исправления.
12. Get-WmiObject -Class Win32_ComputerSystem -Property UserName | Имя пользователя Select-Object
Эта команда отображает имя пользователя, вошедшего в систему на компьютере.
13. Get-WmiObject -Class Win32_Product | Select-Object Name, Vendor
Эта команда отображает имена всех приложений, установленных на компьютере, а также поставщиков, опубликовавших каждое приложение.
14. Get-NetIPAddress | IP-адрес Select-Object
Командлет Get-NetIPAddress можно использовать для отображения списка всех IP-адресов, назначенных компьютеру.
15. Получить-NetIP-адрес
Использование командлета Get-NetIPAddress само по себе отображает более подробную сводку об использовании IP-адреса компьютера. Для этой цели также можно использовать команду IPConfig .
16. Get-NetIPAddress | Где-Объект {$_.PrefixOrigin -eq ‘DHCP’}
Отфильтровав выходные данные командлета Get-NetIPAddress по PrefixOrigin , можно отобразить только те сетевые адаптеры, которые получают IP-адрес с DHCP-сервера.
17. Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Filter IPEnabled=true -ComputerName . | ForEach-Object -Process {$_.EnableDHCP()}
С помощью этой команды вы можете включить DHCP на всех сетевых адаптерах на текущем компьютере.
Управление программным обеспечением
18. Пуск-Процесс Setup.msi
Командлет Start-Process можно использовать для запуска файла MSI, который используется для установки программного приложения. В этом случае используется имя файла Setup.msi, но вы можете подставить нужный путь и имя файла.
19. (Get-WmiObject -Class Win32_Product -ComputerName . -Filter «Name=’name_of_app_to_be_upgraded'»).Upgrade(\\MACHINEWHEREMSIRESIDES\path\upgrade_package.msi)
Эту команду можно использовать для обновления установленного приложения с помощью пакета обновления приложения на основе MSI.
20. (Get-WmiObject -Class Win32_Product -Filter «Name=’product_to_remove'» -ComputerName . ).Uninstall()
Эту команду можно использовать для удаления пакета MSI с текущего компьютера.
Управление машиной
21. Старт-Сон 60; Restart-Computer –Force –ComputerName TARGETMACHINE
Комбинируя командлет Start-Sleep с командлетом Restart-Computer , вы можете удаленно выключить другую машину через одну минуту.
22. Add-Printer -ConnectionName \\PrintServer\Printer
Эта команда позволяет установить принтер, указав путь к универсальному соглашению об именовании общего принтера с помощью параметра -ConnectionName .
23. Remove-Printer -Name «имя принтера»
Эта команда удаляет принтер. Вы должны заменить фактическое имя принтера на фразу «имя принтера».
24. Enter-PSSession ЦЕЛЕВАЯ МАШИНА
Вы можете использовать команду Enter-PSSession , чтобы установить сеанс PowerShell с удаленным компьютером. У вас должно быть включено удаленное управление на удаленном компьютере и действительный набор учетных данных.
25. Invoke-Command -ComputerName Machine1 -FilePath C:\Script\script.ps1
Вы можете использовать командлет Invoke-Command для запуска сценария PowerShell или любого другого командлета PowerShell на удаленном компьютере.
Бонусная команда
26. Stop-Process -ProcessName calc*
Вы можете использовать командлет Stop-Process, чтобы завершить процесс, работающий на вашем компьютере, добавив имя процесса, который вы хотите остановить. Если вы не знаете или не хотите вводить полное имя процесса, вы можете использовать подстановочные знаки.