Как прочитать свойство `ms-Mcs-AdmPwdExpirationTime` из ActiveDirectory

1897
StepUp

Я пытаюсь прочитать срок действия пароля администратора из ActiveDirectory:

Dim DC = New PrincipalContext(ContextType.Domain) Dim cmp = ComputerPrincipal.FindByIdentity(DC, hostnm) Dim desting As String = cmp.DistinguishedName Dim de As New DirectoryEntry("LDAP://" & desting) pwdexp = de.Properties("ms-Mcs-AdmPwdExpirationTime").Value.ToString() 

Но то, что я вижу, это просто <COM Type>: Как прочитать свойство `ms-Mcs-AdmPwdExpirationTime` из ActiveDirectory

Однако время истечения пароля администратора может быть легко прочитано PowerShell :

$TestValue = [adsi]"LDAP://CN=xxx,OU=xxx,OU=xxx,OU=xxx,OU=xxx,DC=xxx,DC=xxx,DC=xx" $TestValue.ConvertLargeIntegerToInt64($Testvalue."ms-Mcs-AdmPwdExpirationTime"[0]) 

И я знаю, что есть такое свойство: Как прочитать свойство `ms-Mcs-AdmPwdExpirationTime` из ActiveDirectory

Интересно, но я могу прочитать другой параметр ms-Mcs-AdmPwd:

Dim DC = New PrincipalContext(ContextType.Domain) Dim cmp = ComputerPrincipal.FindByIdentity(DC, hostnm) Dim desting As String = cmp.DistinguishedName Dim de As New DirectoryEntry("LDAP://" & desting) pwdexp = de.Properties("ms-Mcs-AdmPwdExpirationTime").Value.ToString() 

и значение можно увидеть из отладчика:

Как прочитать свойство `ms-Mcs-AdmPwdExpirationTime` из ActiveDirectory

Как правильно прочитать свойство ms-Mcs-AdmPwdExpirationTime?

0
К вашему сведению ... Вы можете просто просмотреть простую команду `net user / domain administrator 'и увидеть значение для поля *** Срок действия пароля ***. Pimp Juice IT 7 лет назад 0

1 ответ на вопрос

2
sanderk

Это работает для меня в powershell:

$comp = Get-ADComputer Laptop8 -Properties ms-MCS-AdmPwdExpirationTime $([datetime]::FromFileTime([convert]::ToInt64($comp.'ms-MCS-AdmPwdExpirationTime',10))) 

удачи Сем