яндекс
Полезные и интересные команды PowerShell

Цель этого поста — показать вам некоторые полезные команды PowerShell, с которыми я сталкиваюсь при повседневном использовании. Надеюсь, вы найдете что то для себя, сэкономите время и поэкспериментируете!

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

Узнать время последней загрузки через PowerShell

(Get-CimInstance Win32_OperatingSystem).LastBootUpTime
Узнать время последней перезагрузки powershell

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

Узнать свой IP-адрес через PowerShell

(Invoke-RestMethod ipinfo.io/json).ip
Узнать свой IP-адрес через PowerShell

Команда вернёт строку с текущим публичным IP-адресом устройства, например: "192.168.1.1" (для локальных сетей) или "203.0.113.1" (для публичных сетей).

Найти контроллеры домена в домене через PowerShell

Resolve-DnsName -Type ALL -Name _ldap._tcp.dc._msdcs.$env:userdnsdomain

Команда возвращает список записей DNS, связанных с LDAP-службой для домена Active Directory, который определён в переменной $env:userdnsdomain. Это особенно полезно для диагностики сетевой конфигурации, проверки доступности контроллеров домена или работы службы LDAP в домене.

Показать список программ через PowerShell

Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\* | Select-Object DisplayName, DisplayVersion, Publisher, InstallDate | Format-Table
Список программного обеспечения, доступного для удаления

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

Установить или обновить PowerShell , если доступно для вашей версии windows.

Invoke-Expression "& { $(Invoke-RestMethod -Uri aka.ms/install-powers…) }" -UseMSI -Preview

Команда загружает скрипт установки PowerShell с официального источника (например, PowerShellGallery) и выполняет его для установки PowerShell с использованием MSI, при этом устанавливается предварительная версия (Preview).

Это удобный способ обновления или установки последней версии PowerShell, особенно если вы хотите попробовать новые функции, которые ещё находятся в разработке.

Проверка доступного места на жёстком диске через PowerShell

(Get-PSDrive $Env:SystemDrive.Trim(':')).Free/1GB

Команда возвращает количество свободного пространства на системном диске (обычно C:\) в виде числового значения в гигабайтах. Например, если на диске свободно 50 ГБ, то результат будет 50.

Список подкаталогов в текущем каталоге через PowerShell

Get-ChildItem -Directory
Список подкаталогов в текущем каталоге через PowerShell

Вы видите список всех папок в каталоге C:\Windows\system32, включая их имена и соответствующую информацию, такую как атрибуты и даты изменения.

Сканируем порты через PowerShell

0..65535 | Foreach-Object { Test-NetConnection -Port $_ scanme.nmap.org -WA SilentlyContinue | Format-Table -Property ComputerName,RemoteAddress,RemotePort,TcpTestSucceeded }

Команда сканирует все TCP-порты на удалённом хосте scanme.nmap.org и выводит данные о тех портах, где тест соединения TCP прошёл успешно. Это полезно для диагностики сети или проверки открытых портов на удалённом сервере.

Версия BIOS через PowerShell

(Get-CimInstance Win32_BIOS).SMBIOSBIOSVersion

Вывод команды будет строкой, содержащей версию BIOS. Например, это может быть что-то вроде "BIOS Version A12" или "1.0.0" в зависимости от производителя и модели системы.

Получить серийный номер wmic через PowerShell

(Get-CimInstance Win32_BIOS).SerialNumber

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

Узнать модель компьютера через PowerShell

(Get-CimInstance Win32_ComputerSystem).Model

Выполнение команды выведет название модели вашего компьютера. Например, на компьютерах Dell это может быть что-то вроде "XPS 13" или "OptiPlex 7060". Модель полезна для идентификации оборудования, особенно в случае получения поддержки или проверки совместимости.

Список подключённых принтеров через PowerShell

Get-CimInstance Win32_Printer | Select-Object Name, PortName, Default

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

Узнать домен через PowerShell

(Get-CimInstance Win32_ComputerSystem).Domain

Команда выводит имя домена, в котором зарегистрирован компьютер. Например, это может быть "corp.example.com" или "WORKGROUP".

Посчитать время до следующего года через PowerShell

(Get-Date -Date "$((Get-Date).Year + 1)/1/1") - (Get-Date)

Эта команда вычисляет количество времени (в днях, часах, минутах, секундах и т. д.) до следующего нового года.

Факты о кошках через PowerShell

Invoke-WebRequest -Uri 'https://catfact.ninja/fact' -UseBasicParsing | Select-Object -ExpandProperty 'Content' | ConvertFrom-Json | Select-Object -ExpandProperty fact

Команда возвращает строку с фактом о кошках, например: «Cats can rotate their ears 180 degrees.« (в переводе: «Кошки могут поворачивать свои уши на 180 градусов«).

Это прекрасный способ узнавать случайные интересные факты, и, конечно, использовать их для развлечений или обучения!

Заключение

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

Хотите добавить в этот документ классную однострочную фразу? Напишите её в комментарии и я обязательно добавлю её в статью.

Добавить комментарий