chandru_sol
asked on
vbscript for pulling the AD attribute in Dial-in tab for users in AD
Hi,
Can you please help me with the script for pulling the AD attribute in Dial-in Tab in AD for all the enabled accounts.
Can we not include inbuilt account, disabled accounts and other system accounts?
I want all the three remote access policy attribute for all the users output to an excel sheet with the current setting for the users and update the attribute to a particulate setting for all the users in the same excel sheet?
regards
Chandru
Can you please help me with the script for pulling the AD attribute in Dial-in Tab in AD for all the enabled accounts.
Can we not include inbuilt account, disabled accounts and other system accounts?
I want all the three remote access policy attribute for all the users output to an excel sheet with the current setting for the users and update the attribute to a particulate setting for all the users in the same excel sheet?
regards
Chandru
ASKER
Hi Rob,
Can you help me with retrieving the attribute information to an excel file and then we can work on the other part of the script?
regards
Chandru
Can you help me with retrieving the attribute information to an excel file and then we can work on the other part of the script?
regards
Chandru
ASKER
Hi Rob,
Can you please help me with the script?
regards
Chandru
Can you please help me with the script?
regards
Chandru
Hey, I found the settings here:
List the Dial-In Property Configuration Settings for a User Account
http://www.windowsmanagement.net/scripting/wmi/activedirectory/user/retrieving/#ListDail-in.htm
This will show you the settings for your account.....do you need help to iterate that through all users?
Rob.
List the Dial-In Property Configuration Settings for a User Account
http://www.windowsmanagement.net/scripting/wmi/activedirectory/user/retrieving/#ListDail-in.htm
This will show you the settings for your account.....do you need help to iterate that through all users?
Rob.
If LCase(Right(Wscript.FullName, 11)) = "wscript.exe" Then
strPath = Wscript.ScriptFullName
strCommand = "%comspec% /k cscript """ & strPath & """"
Set objShell = CreateObject("Wscript.Shell")
objShell.Run(strCommand), 1, True
Wscript.Quit
End If
' List the Dial-In Property Configuration Settings for a User Account
' http://www.windowsmanagement.net/scripting/wmi/activedirectory/user/retrieving/#ListDail-in.htm
On Error Resume Next
Const E_ADS_PROPERTY_NOT_FOUND = &h8000500D
Const FourthOctet = 1
Const ThirdOctet = 256
Const SecondOctet = 65536
Const FirstOctet = 16777216
Set objADSysInfo = CreateObject("ADSystemInfo")
Set objUser = GetObject("LDAP://" & objADSysInfo.Username)
WScript.Echo "Dial-In settings for " & objUser.adsPath & VbCrLf
blnMsNPAllowDialin = objUser.Get("msNPAllowDialin")
WScript.Echo "Remote Access Permission (Dial-in or VPN)"
If Err.Number = E_ADS_PROPERTY_NOT_FOUND Then
WScript.Echo "Control access through Remote Access Policy"
Err.Clear
Else
If blnMsNPAllowDialin = True Then
WScript.Echo "Allow access (msNPAllowDialin)"
Else
WScript.Echo "Deny access (msNPAllowDialin)"
End If
End If
WScript.Echo
arrMsNPSavedCallingStationID = objUser.GetEx("msNPSavedCallingStationID")
If Err.Number = E_ADS_PROPERTY_NOT_FOUND Then
WScript.Echo "No Caller-ID specified."
Err.Clear
Else
WScript.Echo "Verify Caller ID (msNPSavedCallingStationID): "
For Each strValue in arrMsNPSavedCallingStationID
WScript.echo strValue
Next
objUser.GetEx "msNPCallingStationID"
If Err.Number = E_ADS_PROPERTY_NOT_FOUND Then
WScript.Echo "Calling station ID(s) specified but not assigned."
Err.Clear
Else
WScript.echo "Calling station ID(s) assigned."
End If
End If
WScript.Echo
intMsRADIUSServiceType = objUser.Get("msRADIUSServiceType")
WScript.Echo "Callback Options"
If Err.Number = E_ADS_PROPERTY_NOT_FOUND Then
WScript.Echo "No Callback"
Err.Clear
Else
strMsRADIUSCallbackNumber = objUser.Get("msRADIUSCallbackNumber")
If Err.Number = E_ADS_PROPERTY_NOT_FOUND Then
WScript.Echo "Set by caller (Routing and Remote Access Service only)"
Err.Clear
strMsRASSavedCallbackNumber = objUser.Get("msRASSavedCallbackNumber")
If Err.Number <> E_ADS_PROPERTY_NOT_FOUND Then
WScript.Echo "Unused value of " & strMsRASSavedCallbackNumber & _
" appears in the Always Callback to field."
Else
Err.Clear
End If
Else
WScript.Echo "Always Callback to: " & _
strMsRADIUSCallbackNumber & " (msRADIUSCallbackNumber)"
End If
End If
WScript.Echo
intMsRASSavedFramedIPAddress = objUser.Get("msRASSavedFramedIPAddress")
If Err.Number = E_ADS_PROPERTY_NOT_FOUND Then
WScript.Echo "No static IP address assigned."
Err.Clear
Else
If sgn(intMsRASSavedFramedIPAddress) = -1 Then
intIP = intMsRASSavedFramedIPAddress
WScript.StdOut.Write 256 + (int(intIP/FirstOctet)) & "."
intFirstRemainder = intIP mod FirstOctet
WScript.StdOut.Write 256 + (int(intFirstRemainder/SecondOctet)) & "."
intSecondRemainder = intFirstRemainder mod SecondOctet
WScript.StdOut.Write 256 + (int(intSecondRemainder/ThirdOctet)) & "."
intThirdRemainder = intSecondRemainder mod ThirdOctet
WScript.Echo 256 + (int(intThirdRemainder/FourthOctet))
Else
intIP = intMsRASSavedFramedIPAddress
WScript.StdOut.Write int(intIP/FirstOctet) & "."
intFirstRemainder = intIP mod FirstOctet
WScript.StdOut.Write int(intFirstRemainder/SecondOctet) & "."
intSecondRemainder = intFirstRemainder mod SecondOctet
WScript.StdOut.Write int(intSecondRemainder/ThirdOctet) & "."
intThirdRemainder = intSecondRemainder mod ThirdOctet
WScript.Echo int(intThirdRemainder/FourthOctet)
End If
objUser.Get "msRADIUSFramedIPAddress"
If Err.Number = E_ADS_PROPERTY_NOT_FOUND Then
WScript.Echo "Static IP address specified but not assigned."
Err.Clear
Else
WScript.Echo "Static IP Address assigned."
End If
End If
WScript.Echo
arrMsRASSavedFramedRoute = objUser.GetEx("msRASSavedFramedRoute")
If Err.Number = E_ADS_PROPERTY_NOT_FOUND Then
WScript.Echo "No static Routes specified."
Err.Clear
Else
WScript.echo "Static Routes (msRASSavedFramedRoute):"
WScript.Echo vbTab & "CIDR 0.0.0.0 Metric"
For Each strValue in arrMsRASSavedFramedRoute
WScript.echo vbTab & strValue
Next
objUser.GetEx "msRADIUSFramedRoute"
If Err.Number = E_ADS_PROPERTY_NOT_FOUND Then
WScript.Echo "Static Routes specified but not assigned."
Err.Clear
Else
WScript.echo "Static Routes assigned."
End If
End If
ASKER
Yes please.
Can you please help me with all the users and only enabled accounts?
regards
Chandru
Can you please help me with all the users and only enabled accounts?
regards
Chandru
Ok, this should do it, but obviously, the output needs to be fixed.....I'll try to do some sort of CSV output hopefully tomorrow....
Rob.
Rob.
If LCase(Right(Wscript.FullName, 11)) = "wscript.exe" Then
strPath = Wscript.ScriptFullName
strCommand = "%comspec% /k cscript """ & strPath & """"
Set objShell = CreateObject("Wscript.Shell")
objShell.Run(strCommand), 1, True
Wscript.Quit
End If
Set objConnection = CreateObject("ADODB.Connection")
Set objCommand = CreateObject("ADODB.Command")
objConnection.Provider = "ADsDSOObject"
objConnection.Open "Active Directory Provider"
Set objCommand.ActiveConnection = objConnection
objCommand.Properties("Page Size") = 1000
Set objRootDSE = GetObject("LDAP://RootDSE")
objCommand.CommandText = _
"<LDAP://" & objRootDSE.Get("defaultNamingContext") & ">;(&(objectClass=Person)(objectCategory=User)" & _
"(!userAccountControl:1.2.840.113556.1.4.803:=2));adsPath;Subtree"
Set objRecordSet = objCommand.Execute
On Error Resume Next
objRecordSet.MoveFirst
Do Until objRecordSet.EOF
Set objUser = GetObject(objRecordSet.Fields("adsPath").Value)
WScript.Echo "Dial-In settings for " & objUser.adsPath & VbCrLf
blnMsNPAllowDialin = objUser.Get("msNPAllowDialin")
WScript.Echo "Remote Access Permission (Dial-in or VPN)"
If Err.Number = E_ADS_PROPERTY_NOT_FOUND Then
WScript.Echo "Control access through Remote Access Policy"
Err.Clear
Else
If blnMsNPAllowDialin = True Then
WScript.Echo "Allow access (msNPAllowDialin)"
Else
WScript.Echo "Deny access (msNPAllowDialin)"
End If
End If
WScript.Echo
arrMsNPSavedCallingStationID = objUser.GetEx("msNPSavedCallingStationID")
If Err.Number = E_ADS_PROPERTY_NOT_FOUND Then
WScript.Echo "No Caller-ID specified."
Err.Clear
Else
WScript.Echo "Verify Caller ID (msNPSavedCallingStationID): "
For Each strValue in arrMsNPSavedCallingStationID
WScript.echo strValue
Next
objUser.GetEx "msNPCallingStationID"
If Err.Number = E_ADS_PROPERTY_NOT_FOUND Then
WScript.Echo "Calling station ID(s) specified but not assigned."
Err.Clear
Else
WScript.echo "Calling station ID(s) assigned."
End If
End If
WScript.Echo
intMsRADIUSServiceType = objUser.Get("msRADIUSServiceType")
WScript.Echo "Callback Options"
If Err.Number = E_ADS_PROPERTY_NOT_FOUND Then
WScript.Echo "No Callback"
Err.Clear
Else
strMsRADIUSCallbackNumber = objUser.Get("msRADIUSCallbackNumber")
If Err.Number = E_ADS_PROPERTY_NOT_FOUND Then
WScript.Echo "Set by caller (Routing and Remote Access Service only)"
Err.Clear
strMsRASSavedCallbackNumber = objUser.Get("msRASSavedCallbackNumber")
If Err.Number <> E_ADS_PROPERTY_NOT_FOUND Then
WScript.Echo "Unused value of " & strMsRASSavedCallbackNumber & _
" appears in the Always Callback to field."
Else
Err.Clear
End If
Else
WScript.Echo "Always Callback to: " & _
strMsRADIUSCallbackNumber & " (msRADIUSCallbackNumber)"
End If
End If
WScript.Echo
intMsRASSavedFramedIPAddress = objUser.Get("msRASSavedFramedIPAddress")
If Err.Number = E_ADS_PROPERTY_NOT_FOUND Then
WScript.Echo "No static IP address assigned."
Err.Clear
Else
If sgn(intMsRASSavedFramedIPAddress) = -1 Then
intIP = intMsRASSavedFramedIPAddress
WScript.StdOut.Write 256 + (int(intIP/FirstOctet)) & "."
intFirstRemainder = intIP mod FirstOctet
WScript.StdOut.Write 256 + (int(intFirstRemainder/SecondOctet)) & "."
intSecondRemainder = intFirstRemainder mod SecondOctet
WScript.StdOut.Write 256 + (int(intSecondRemainder/ThirdOctet)) & "."
intThirdRemainder = intSecondRemainder mod ThirdOctet
WScript.Echo 256 + (int(intThirdRemainder/FourthOctet))
Else
intIP = intMsRASSavedFramedIPAddress
WScript.StdOut.Write int(intIP/FirstOctet) & "."
intFirstRemainder = intIP mod FirstOctet
WScript.StdOut.Write int(intFirstRemainder/SecondOctet) & "."
intSecondRemainder = intFirstRemainder mod SecondOctet
WScript.StdOut.Write int(intSecondRemainder/ThirdOctet) & "."
intThirdRemainder = intSecondRemainder mod ThirdOctet
WScript.Echo int(intThirdRemainder/FourthOctet)
End If
objUser.Get "msRADIUSFramedIPAddress"
If Err.Number = E_ADS_PROPERTY_NOT_FOUND Then
WScript.Echo "Static IP address specified but not assigned."
Err.Clear
Else
WScript.Echo "Static IP Address assigned."
End If
End If
WScript.Echo
arrMsRASSavedFramedRoute = objUser.GetEx("msRASSavedFramedRoute")
If Err.Number = E_ADS_PROPERTY_NOT_FOUND Then
WScript.Echo "No static Routes specified."
Err.Clear
Else
WScript.echo "Static Routes (msRASSavedFramedRoute):"
WScript.Echo vbTab & "CIDR 0.0.0.0 Metric"
For Each strValue in arrMsRASSavedFramedRoute
WScript.echo vbTab & strValue
Next
objUser.GetEx "msRADIUSFramedRoute"
If Err.Number = E_ADS_PROPERTY_NOT_FOUND Then
WScript.Echo "Static Routes specified but not assigned."
Err.Clear
Else
WScript.echo "Static Routes assigned."
End If
End If
objRecordSet.MoveNext
Loop
ASKER
Thanks Rob!!
ASKER
Hi Rob,
Any luck with this
regards
Chandru
Any luck with this
regards
Chandru
ASKER
Hi Rob,
Can you help me with the CSV file output?
regards
Chandru
Can you help me with the CSV file output?
regards
Chandru
Hi Chandru, I will get to this soon....I have been absolutely flat out this week.....
Rob.
Rob.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
not to bring up a dead article. however, this does NOT work, it outputs all the settings, but NOT the username assocated with each setting, seems kind of pointless.
That is incorrect. the username is there on the line "Dial-In settings for LDAP://CN="USERNAME!!"
http://support.microsoft.com/kb/252398
Regards,
Rob.