ฉันกำลังดูการสร้างสคริปต์ที่ล้างการทำสัญญาเช่า DHCP ซ้ำจากเซิร์ฟเวอร์ DHCP ที่ใช้ Windows Server 2008 R2 ของเรา ฉันพบว่าคุณไม่สามารถทำสิ่งนี้ได้ใน PowerShell แต่คุณสามารถใช้ PowerShell เพื่อเรียกคำสั่ง netsh.exe แล้วจัดการข้อมูลได้
คำสั่งเพื่อแสดงรายการสัญญาเช่า DHCP ทั้งหมด:
netsh dhcp server 10.100.2.241 scope 10.100.0.0 show clients 1
ผลลัพธ์ที่ได้เป็นระเบียบเล็กน้อย:
Changed the current scope context to 10.100.0.0 scope.
Type : N - NONE, D - DHCP B - BOOTP, U - UNSPECIFIED, R - RESERVATION IP
============================================================================================
IP Address - Subnet Mask - Unique ID - Lease Expires -Type -Name
============================================================================================
10.100.0.51 - 255.255.248.0 - 00-11-22-33-44-55 -24/05/2016 21:29:01 -D- WT008064807e32.domain.com
10.100.0.52 - 255.255.248.0 - 00-11-22-33-44-55 -24/05/2016 20:13:47 -D- EXT1054.domain.com
10.100.0.53 - 255.255.248.0 - 00-11-22-33-44-55 -24/05/2016 22:54:14 -D- EXT1018.domain.com
10.100.0.54 - 255.255.248.0 - 00-11-22-33-44-55 -24/05/2016 11:01:57 -D- V2040.domain.com
10.100.0.55 - 255.255.248.0 - 00-11-22-33-44-55 -24/05/2016 19:50:19 -D- V1041.domain.com
----SNIP----
ตัวอย่างเช่นโฮสต์ V2119 มีการระบุไว้สองครั้งภายในผลลัพธ์ที่มีที่อยู่ IP ที่แตกต่างกันและเวลาหมดอายุสัญญาเช่า:
V2119 - 10.100.6.45 - 24/05/2016 23:24:43
V2119 - 10.100.5.167 - 24/05/2016 23:06:21
ในตัวอย่างนี้ฉันจะลบ 10.100.5.167 เนื่องจากจะหมดอายุก่อนหน้านี้ดังนั้นจึงเป็นสัญญาเช่าที่เก่าและซ้ำซ้อน
คำสั่งเพื่อลบสัญญาเช่าเฉพาะโดย IP:
netsh dhcp server 10.100.2.241 scope 10.100.0.0 delete lease 10.100.5.167
ฉันพบบทความนี้โดย OP ใช้เอาท์พุทของคำสั่ง netsh ใน PowerShell แล้วตัดส่วนบิตต่าง ๆ เพื่อส่งกลับรายการชื่อโฮสต์และ IP เท่านั้น แม้ว่าผลลัพธ์จะไม่ใช่สิ่งที่ฉันตามมาการตัดแต่งอาจมีประโยชน์ - https://theadminguy.com/2009/10/14/export-dhcp-leases-to-html-using-powershell/
โดยทั่วไปฉันต้องการสคริปต์เพื่อส่งออกสัญญาเช่าทั้งหมดใน DHCP หาว่าชื่อโฮสต์ใดที่ซ้ำกันจากนั้นชื่อที่ทำซ้ำซึ่งจะหมดอายุก่อนหน้านี้และส่งคืนที่อยู่ IP จากนั้นไปป์ที่ลงในคำสั่ง netsh delete lease ด้านบน .
ความช่วยเหลือใด ๆ ที่คุณสามารถให้ฉันเกี่ยวกับเรื่องนี้จะเป็นที่น่าตื่นตาตื่นใจและชื่นชมอย่างมหาศาล
ให้ฉันตะโกนถ้าคุณต้องการอะไรที่ชัดเจน