Cmdlet Сетевое и системное администрирование
<PowerShell может не только управлять локальными файлами, процессами и службами, но также обладает мощными сетевыми функциями и возможностями работы на системном уровне. Будь то просмотр IP-адресов, проверка сетевого подключения или получение системной информации и управление учетными записями пользователей, PowerShell предоставляет богатые и унифицированные Cmdlet'ы.
Этот раздел поможет вам освоить наиболее часто используемые команды в сетевом и системном администрировании, проведя вас от «пользователя командной строки» до «эксперта по системному администрированию».
1. Cmdlet'ы управления сетью
Проверка сетевого подключения:Test-Connection
Похоже наpingкоманда, но вывод — это объект, поддерживающий больше операций.
Test-Connection -ComputerName www.baidu.com -Count 4
Быстрый вариант (PowerShell 7+):
Test-NetConnection www.baidu.com
Получить конфигурацию IP локального компьютера:Get-NetIPAddress
Get-NetIPAddress
Просмотреть только IPv4-адреса:
Get-NetIPAddress -AddressFamily IPv4
Можно также использовать старую команду для совместимости:
ipconfig
Или более универсальная команда WMI:
Get-WmiObject -Class Win32_NetworkAdapterConfiguration | Where-Object { $_.IPEnabled }
Получить текущий статус сетевого подключения:Get-NetTCPConnection
Вывести список всех TCP-соединений и состояний портов (аналогичноnetstat):
Get-NetTCPConnection
Просмотреть состояние подключения для конкретного порта:
Get-NetTCPConnection -LocalPort 80
Управление именем хоста и кэшем DNS
Получить имя локального компьютера:
$env:COMPUTERNAME
Очистить кэш DNS:
Clear-DnsClientCache
2. Запрос информации о системе
Получить информацию об операционной системе:Get-ComputerInfo
Get-ComputerInfo
Отфильтровать ключевые поля (например, версия системы, CPU):
Get-ComputerInfo | Select-Object OSName, WindowsVersion, CsProcessors
Получить время загрузки системы
(Get-CimInstance -Class Win32_OperatingSystem).LastBootUpTime
Получить информацию о дисках:Get-Volume
Get-Volume
Вы также можете использовать:
Get-PSDrive -PSProvider FileSystem
Или:
Get-CimInstance Win32_LogicalDisk | Select-Object DeviceID, VolumeName, Size, FreeSpace
Получить информацию о BIOS и оборудовании
Get-CimInstance -ClassName Win32_BIOS Get-CimInstance -ClassName Win32_ComputerSystem
3. Управление пользователями и учётными записями (локальное)
Получить информацию о текущем пользователе
[System.Security.Principal.WindowsIdentity]::GetCurrent().Name
Или:
$env:USERNAME
Просмотреть список локальных пользователей (локальные учётные записи Windows)
Get-LocalUser
Отключить пользователя:
Disable-LocalUser -Name "TestUser"
Включить пользователя:
Enable-LocalUser -Name "TestUser"
Примечание: необходимо запускать от имени администратора.
Добавить нового пользователя (локального)
New-LocalUser -Name "NewUser" -Password (Read-Host -AsSecureString "输入密码")
4. Операции с системными настройками
Установить часовой пояс системы
Set-TimeZone -Id "China Standard Time"
Просмотреть поддерживаемые часовые пояса:
Get-TimeZone -ListAvailable
Установить имя хоста системы (требуется перезагрузка для вступления в силу)
Rename-Computer -NewName "MyNewPC" -Restart
Установить системное время (требуются права администратора)
Set-Date -Date "2025-07-22 10:30"
5. Примеры практических сценариев
Пример 1: Проверка подключения с локального компьютера к нескольким целевым хостам
"192.168.1.1", "8.8.8.8", "www.baidu.com" | ForEach-Object {
Test-Connection -ComputerName $_ -Count 2
}
Пример 2: Список текущих открытых TCP-портов (состояние: Listening)
Get-NetTCPConnection | Where-Object { $_.State -eq "Listen" }
Пример 3: Создание отчёта о системе
$report = Get-ComputerInfo | Select-Object OSName, OSArchitecture, CsName, CsProcessors, WindowsVersion $report | Out-File -FilePath "C:\SystemReport.txt"
6. Итоги
PowerShell предоставляет мощные возможности сетевого и системного администрирования, значительно превосходя традиционные инструменты командной строки:
- Сетевые операции поддерживают тестирование, мониторинг и настройку IP-адресов и портов
- Команды для получения системной информации упрощают создание диагностических отчётов и автоматизированных аудитов
- Управление локальными учетными записями подходит для небольших систем или сред рабочих групп
- Все команды являются объектно-ориентированными, гибко компонуются и могут использоваться в скриптах