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

0

Я пытаюсь читать Срок действия пароля администратора от 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>: enter image description here

Тем не мение, срок действия пароля администратора легко читается 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])

И я знаю, что есть такое свойство: enter image description here

Интересно, но я могу прочитать другой параметр 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()

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

enter image description here

Как читать недвижимость ms-Mcs-AdmPwdExpirationTime правильно?

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

Ответы:

2

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

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

удачи семафор

sanderk
источник