|
server
newsgroups
|
|||||||||||||||||||||||
|
|||||||||||||||||||||||
generic Domain(AD) connection
thing, I dont want to supply the parameters like dc="?", I want the script to run under the AD that the user is currently logon to. --------------------- Const MIN_IN_DAY = 1440 Const SEC_IN_MIN = 60 Set objDomain = GetObject("WinNT://fabrikam") Set objAdS = GetObject("LDAP://dc=fabrikam,dc=com") intMaxPwdAgeSeconds = objDomain.Get("MaxPasswordAge") intMinPwdAgeSeconds = objDomain.Get("MinPasswordAge") intLockOutObservationWindowSeconds = objDomain.Get("LockoutObservationInterval") intLockoutDurationSeconds = objDomain.Get("AutoUnlockInterval") intMinPwdLength = objAds.Get("minPwdLength") intPwdHistoryLength = objAds.Get("pwdHistoryLength") intPwdProperties = objAds.Get("pwdProperties") intLockoutThreshold = objAds.Get("lockoutThreshold") intMaxPwdAgeDays = _ ((intMaxPwdAgeSeconds/SEC_IN_MIN)/MIN_IN_DAY) & " days" intMinPwdAgeDays = _ ((intMinPwdAgeSeconds/SEC_IN_MIN)/MIN_IN_DAY) & " days" intLockOutObservationWindowMinutes = _ (intLockOutObservationWindowSeconds/SEC_IN_MIN) & " minutes" If intLockoutDurationSeconds <> -1 Then intLockoutDurationMinutes = _ (intLockOutDurationSeconds/SEC_IN_MIN) & " minutes" Else intLockoutDurationMinutes = _ "Administrator must manually unlock locked accounts" End If WScript.Echo "maxPwdAge = " & intMaxPwdAgeDays WScript.Echo "minPwdAge = " & intMinPwdAgeDays WScript.Echo "minPwdLength = " & intMinPwdLength WScript.Echo "pwdHistoryLength = " & intPwdHistoryLength WScript.Echo "pwdProperties = " & intPwdProperties WScript.Echo "lockOutThreshold = " & intLockoutThreshold WScript.Echo "lockOutObservationWindow = " & intLockOutObservationWindowMinutes WScript.Echo "lockOutDuration = " & intLockoutDurationMinutes --------- mayoza wrote;
Show quote > The following script returns the policy in the AD. Can you help me with You can use the RootDSE object to retrieve the Distinguished Name of the > one > thing, I dont want to supply the parameters like dc="?", I want the script > to > run under the AD that the user is currently logon to. > > --------------------- > Const MIN_IN_DAY = 1440 > Const SEC_IN_MIN = 60 > > Set objDomain = GetObject("WinNT://fabrikam") > Set objAdS = GetObject("LDAP://dc=fabrikam,dc=com") > > intMaxPwdAgeSeconds = objDomain.Get("MaxPasswordAge") > intMinPwdAgeSeconds = objDomain.Get("MinPasswordAge") > intLockOutObservationWindowSeconds = > objDomain.Get("LockoutObservationInterval") > intLockoutDurationSeconds = objDomain.Get("AutoUnlockInterval") > intMinPwdLength = objAds.Get("minPwdLength") > > intPwdHistoryLength = objAds.Get("pwdHistoryLength") > intPwdProperties = objAds.Get("pwdProperties") > intLockoutThreshold = objAds.Get("lockoutThreshold") > intMaxPwdAgeDays = _ > ((intMaxPwdAgeSeconds/SEC_IN_MIN)/MIN_IN_DAY) & " days" > intMinPwdAgeDays = _ > ((intMinPwdAgeSeconds/SEC_IN_MIN)/MIN_IN_DAY) & " days" > intLockOutObservationWindowMinutes = _ > (intLockOutObservationWindowSeconds/SEC_IN_MIN) & " minutes" > > If intLockoutDurationSeconds <> -1 Then > intLockoutDurationMinutes = _ > (intLockOutDurationSeconds/SEC_IN_MIN) & " minutes" > Else > intLockoutDurationMinutes = _ > "Administrator must manually unlock locked accounts" > End If > > WScript.Echo "maxPwdAge = " & intMaxPwdAgeDays > WScript.Echo "minPwdAge = " & intMinPwdAgeDays > WScript.Echo "minPwdLength = " & intMinPwdLength > WScript.Echo "pwdHistoryLength = " & intPwdHistoryLength > WScript.Echo "pwdProperties = " & intPwdProperties > WScript.Echo "lockOutThreshold = " & intLockoutThreshold > WScript.Echo "lockOutObservationWindow = " & > intLockOutObservationWindowMinutes > WScript.Echo "lockOutDuration = " & intLockoutDurationMinutes > --------- domain the current user authenticated to. If you need the NetBIOS domain name for the WinNT provider as well, you can use the DomainShortName property of the ADSystemInfo object. For example: ========= Set objRootDSE = GetObject("LDAP://RootDSE") strDNSDomain = objRootDSE.Get("defaultNamingContext") Set objSysInfo = CreateObject("ADSystemInfo") strNTDomain = objSysInfo.domainShortName Set objAds = GetObject("LDAP://" & strDNSDomain) Set objDomain = GetObject("WinNT://" & strNTDomain) Thanks a lot.
Show quote "Richard Mueller [MVP]" wrote: > mayoza wrote; > > > The following script returns the policy in the AD. Can you help me with > > one > > thing, I dont want to supply the parameters like dc="?", I want the script > > to > > run under the AD that the user is currently logon to. > > > > --------------------- > > Const MIN_IN_DAY = 1440 > > Const SEC_IN_MIN = 60 > > > > Set objDomain = GetObject("WinNT://fabrikam") > > Set objAdS = GetObject("LDAP://dc=fabrikam,dc=com") > > > > intMaxPwdAgeSeconds = objDomain.Get("MaxPasswordAge") > > intMinPwdAgeSeconds = objDomain.Get("MinPasswordAge") > > intLockOutObservationWindowSeconds = > > objDomain.Get("LockoutObservationInterval") > > intLockoutDurationSeconds = objDomain.Get("AutoUnlockInterval") > > intMinPwdLength = objAds.Get("minPwdLength") > > > > intPwdHistoryLength = objAds.Get("pwdHistoryLength") > > intPwdProperties = objAds.Get("pwdProperties") > > intLockoutThreshold = objAds.Get("lockoutThreshold") > > intMaxPwdAgeDays = _ > > ((intMaxPwdAgeSeconds/SEC_IN_MIN)/MIN_IN_DAY) & " days" > > intMinPwdAgeDays = _ > > ((intMinPwdAgeSeconds/SEC_IN_MIN)/MIN_IN_DAY) & " days" > > intLockOutObservationWindowMinutes = _ > > (intLockOutObservationWindowSeconds/SEC_IN_MIN) & " minutes" > > > > If intLockoutDurationSeconds <> -1 Then > > intLockoutDurationMinutes = _ > > (intLockOutDurationSeconds/SEC_IN_MIN) & " minutes" > > Else > > intLockoutDurationMinutes = _ > > "Administrator must manually unlock locked accounts" > > End If > > > > WScript.Echo "maxPwdAge = " & intMaxPwdAgeDays > > WScript.Echo "minPwdAge = " & intMinPwdAgeDays > > WScript.Echo "minPwdLength = " & intMinPwdLength > > WScript.Echo "pwdHistoryLength = " & intPwdHistoryLength > > WScript.Echo "pwdProperties = " & intPwdProperties > > WScript.Echo "lockOutThreshold = " & intLockoutThreshold > > WScript.Echo "lockOutObservationWindow = " & > > intLockOutObservationWindowMinutes > > WScript.Echo "lockOutDuration = " & intLockoutDurationMinutes > > --------- > > You can use the RootDSE object to retrieve the Distinguished Name of the > domain the current user authenticated to. If you need the NetBIOS domain > name for the WinNT provider as well, you can use the DomainShortName > property of the ADSystemInfo object. For example: > ========= > Set objRootDSE = GetObject("LDAP://RootDSE") > strDNSDomain = objRootDSE.Get("defaultNamingContext") > > Set objSysInfo = CreateObject("ADSystemInfo") > strNTDomain = objSysInfo.domainShortName > > Set objAds = GetObject("LDAP://" & strDNSDomain) > Set objDomain = GetObject("WinNT://" & strNTDomain) > > -- > Richard Mueller > Microsoft MVP Scripting and ADSI > Hilltop Lab - http://www.rlmueller.net > -- > > > |
|||||||||||||||||||||||