7.10.2024

DHCP sunucu ve Powershell

Çalışan bir DHCP sunucuya rezervasyon (ayırma) ve policy (ilke) eklemek istiyorum. Etkin bir havuz var ve kiralamalar da düzgün çalışıyor. Bununla birlikte DHCP'den yapılacak rezervasyonlarla ilgili elimde CSV dosyasından alınmış şöyle bir liste var:

$rsv = Import-Csv -Path .\reservations.csv
$rsv
MAC HOST IPAd
--- ---- ----
xx-xx-xx-yy-yy-yy bilgisayar01 192.168.22.150
xx-xx-xx-yy-yy-yy bilgisayar02 192.168.22.151
... 

Öncelikle bu MAC-IP ilişkisi için birer rezervasyon oluşturalım.

$rsv | % { Add-DhcpServerv4Reservation -ComputerName dhcpserver 
    -ScopeId "192.168.22.0" -IPAddress $_.IPAd -ClientId $_.MAC 
    -Name $_.HOST -Description -$_.HOST -Type Dhcp }

Daha sonra da aynı $rsv dizisini kullanarak bir politika oluşturalım.

Add-DhcpServerv4Policy -ComputerName dhcpserver -Name "WifiPolicy" -ScopeId "192.168.22.0" 
    -Condition OR -MacAddress EQ,xx-xx-xx-yy-yy-yy,...

Buraya bütün MAC adreslerini en sona tek seferde ekleyebilir, ya da WifiPolicy altına birden fazla koşul girebiliriz. Bu komut sonunda ilke etkin olarak oluşturulur. Oluşturduktan sonra devre dışı kalmasını istersek -Enabled $false ile bunu belirtmeliyiz.

DhcpServer modülü ile gelen 100'den fazla cmdlet var. DHCP sunucuyu sadece powershell'den yönetmek ve izlemek bile mümkün. Tüm komut listesi için

Get-Command -Module DhcpServer

Sonrasında DHCP olaylarını incelemek istersek

Get-WinEvent -Computername DhcpServer 
    -FilterhashTable @{Logname="Microsoft-Windows-Dhcp-Server/Operational";StartTime=(Get-Date).AddHours(-8)}

Bir filter'ımız varsa izin verilmeyen istemciler ile ilgili olay kayıtları "Microsoft-Windows-Dhcp-Server/FilterNotifications" günlüğüne düşer. Görmek için

Get-WinEvent -Computername DhcpServer
    -FilterHashtable @{Logname="Microsoft-Windows-Dhcp-Server/FilterNotifications";StartTime=(Get-Date).AddHours(-8)}

Hiç yorum yok: