Windows и PowerShell

6.1 Настройка сети в Windows

Windows предоставляет мощные инструменты для настройки и управления сетевыми подключениями.

Просмотр сетевых адаптеров

# Просмотр всех сетевых адаптеров
Get-NetAdapter
                        
                        # Просмотр только активных адаптеров
Get-NetAdapter | Where-Object {$_.Status -eq "Up"}
                        
                        # Детальная информация об адаптере
Get-NetAdapter -Name "Ethernet" | Format-List *
                    

Настройка IP-адресов

# Просмотр IP-конфигурации
Get-NetIPConfiguration
                        
                        # Настройка статического IP
New-NetIPAddress -InterfaceAlias "Ethernet" -IPAddress "192.168.1.100" -PrefixLength 24 -DefaultGateway "192.168.1.1"
                        
                        # Настройка DNS
Set-DnsClientServerAddress -InterfaceAlias "Ethernet" -ServerAddresses "8.8.8.8", "8.8.4.4"
                    

Управление сетевыми профилями

# Просмотр сетевых профилей
Get-NetConnectionProfile
                        
                        # Изменение профиля на "Частная"
Set-NetConnectionProfile -InterfaceAlias "Ethernet" -NetworkCategory Private
                        
                        # Изменение профиля на "Публичная"
Set-NetConnectionProfile -InterfaceAlias "Ethernet" -NetworkCategory Public
                    

6.2 Брандмауэр Windows

Брандмауэр Windows защищает систему от несанкционированного сетевого доступа.

Управление брандмауэром

# Просмотр статуса брандмауэра
Get-NetFirewallProfile
                        
                        # Включение брандмауэра
Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled True
                        
                        # Отключение брандмауэра
Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled False
                    

Управление правилами

# Просмотр всех правил
Get-NetFirewallRule
                        
                        # Создание правила для входящих соединений
New-NetFirewallRule -DisplayName "My App" -Direction Inbound -Protocol TCP -LocalPort 8080 -Action Allow
                        
                        # Удаление правила
                        Remove-NetFirewallRule -DisplayName "My App"
                    

6.3 Удаленный доступ

Windows поддерживает различные методы удаленного доступа для администрирования и работы.

Remote Desktop

# Включение Remote Desktop
Set-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\Terminal Server" -Name "fDenyTSConnections" -Value 0
                        
                        # Настройка NLA (Network Level Authentication)
Set-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" -Name "UserAuthentication" -Value 1
                    

PowerShell Remoting

# Включение PowerShell Remoting
                        Enable-PSRemoting -Force
                        
                        # Подключение к удаленному компьютеру
                        Enter-PSSession -ComputerName "RemotePC" -Credential (Get-Credential)
                        
                        # Выполнение команды на удаленном компьютере
                        Invoke-Command -ComputerName "RemotePC" -ScriptBlock {Get-Process}
                    

6.4 Диагностика сети

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

Базовые команды диагностики

# Проверка подключения
                        Test-NetConnection -ComputerName "google.com" -Port 80
                        
                        # Трассировка маршрута
                        Test-NetConnection -ComputerName "google.com" -TraceRoute
                        
                        # Проверка DNS
                        Resolve-DnsName "google.com"
                    

Мониторинг сети

# Просмотр активных соединений
Get-NetTCPConnection
                        
                        # Мониторинг сетевого трафика
Get-Counter "\Network Interface(*)\Bytes Total/sec"
                        
                        # Просмотр статистики адаптера
Get-NetAdapterStatistics -Name "Ethernet"