Como ler uma propriedade 'ms-Mcs-AdmPwdExpirationTime' do ActiveDirectory

0

Estou tentando ler o tempo de expiração da senha do administrador em 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()

Mas o que vejo é apenas <COM Type> :

Noentanto,otempodeexpiraçãodasenhadoadministradorpodeserlidofacilmentepeloPowerShell:

$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])

E eu sei que existe uma propriedade desse tipo:

Curiosamente,maspossoleroutroparâmetroms-Mcs-AdmPwd:

DimDC=NewPrincipalContext(ContextType.Domain)Dimcmp=ComputerPrincipal.FindByIdentity(DC,hostnm)DimdestingAsString=cmp.DistinguishedNameDimdeAsNewDirectoryEntry("LDAP://" & desting)
pwdexp = de.Properties("ms-Mcs-AdmPwdExpirationTime").Value.ToString()

e o valor pode ser visto no depurador:

Como ler uma propriedade ms-Mcs-AdmPwdExpirationTime corretamente?

    
por StepUp 13.10.2017 / 12:31

1 resposta

2

Isso funciona para mim no powershell:

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

boa sorte Sem

    
por 20.11.2017 / 12:41