Export all DHCP Servers leases
I used to save DHCP leases for IP infringement access and needed to track mac address to find the user. this is a very good way to save the leases to easy lookup.
$dhcpServers
=
Get-DhcpServerInDC
$r
= @()
$e
= @()
Foreach
(
$server
in
$dhcpServers
)
{
IF
(
$server
.DnsName
-like
"RX*"
)
{
TRY
{
$s
=
$server
.DnsName
$scopes
=
Get-DhcpServerv4Scope
–ComputerName
$s
foreach
(
$scope
in
$scopes
)
{
$IPOfScope
=
$scope
.ScopeID.IPAddressToString
$results
=
Get-DhcpServerv4Lease
-ComputerName
$s
-ScopeId
$IPOfScope
-AllLeases
| SELECT @{Name=
"DHCPServer"
; Expression={
$s
}},HostName, AddressState, LeaseExpiryTime
$r
+=
$results
}
}
CATCH
{
$b
=
$error
[0] | SELECT @{Name=
"ServerName"
; Expression={
$s
}}, @{Name=
"ErrorType"
; Expression={
$_
.Exception.GetType().FullName}}, @{Name=
"Error"
; Expression={
$_
.Exception.Message}}
$e
+=
$b
}
}
}
<# Output to CSV #>
$r
#| Export-Csv -Path C:/temp/Results.csv
$e
#| Export-Csv -Path C:/temp/Errors.csv