Converting msRADIUSFramedIPAddress to IPV4 PowerShell
By Steve Bowman
Published August 26, 2016
Estimated Reading Time: < 1 minute

The other day I was asked the to run a report by security team on which AD users had dial-in configured for a static IP address and what IP address was assigned, if any.

I did a quick Get-Aduser on the supplied test account and here are the results:

GivenName               : Chris
msRADIUSFramedIPAddress : 1869573999
Name                    : Chris
ObjectClass             : user

Well that’s odd  “1869573999″ does not look like an IP address to me.  A quick  MSDN for more information.  Not much there UGH.  I was able to find several scripts to converts IPv4 address to binary or decimal.  After much trial and error I was able to come up with the following:

Function ConvertRADIUSIPAddress($RADIUSIPAddress) {
$bin=[convert]::ToString([int32]$RADIUSIPAddress,2).PadLeft(32,'0').ToCharArray()
$A=[convert]::ToByte($bin[0..7] -join "",2)
$B=[convert]::ToByte($bin[8..15] -join "",2)
$C=[convert]::ToByte($bin[16..23] -join "",2)
$D=[convert]::ToByte($bin[24..31] -join "",2)
return $($A,$B,$C,$D -join ".")
}

To use the function you only need to supply the uses “msRADIUSFramedIPAddress” value.  To make it more useful added some PSObject and ran it through a for loop using GET-Aduser.

$users = get-aduser  -f * -Properties GivenName,surname,name,msRADIUSFramedIPAddress,DistinguishedName,LastLogonDate,whenCreated,whenChanged,enabled,manager |select GivenName,surname,name,msRADIUSFramedIPAddress,DistinguishedName,LastLogonDate,whenCreated,whenChanged,enabled,manager 
foreach ($un in $users){
  
   New-Object PSObject -Property @{
                Name = $un.Name
                DN = $un.DistinguishedName
                Enabled = $un.Enabled
                Manager = $un.manager
                LastLogin = $un.LastLogonDate
                Created = $un.whenCreated
                IP =  ConvertRADIUSIPAddresss $un.msRADIUSFramedIPAddress
                fullname = $un.GivenName + " " + $un.Surname
                
            }
 }

Now when I run the script it pulls back a list of users with a human readable IPV4 address.

That is it for now.

Thanks,

Chris

 

 

Post Tags:
Article By Steve Bowman
Steve Bowman is a Partner at Model Technology as well as their Vice President of Sales and Marketing. Steve is a father, husband, Franciscan, and lover of technology. He's bilingual in business and technology and have over 30 years of experience in selling enterprise technology solutions in a variety of industries.

Related Posts