簡體   English   中英

獲取密碼過期的 Active Directory 用戶列表

[英]get list of Active Directory users with expiring password

再會!

我知道如何在 ActiveDirectory 中查看用戶密碼的到期日期:

  Public Shared Function GetPasswordExpirationDate1(ByVal userId As String) As Date
        Dim forestGc As String = String.Format("GC://{0}", Forest.GetCurrentForest().Name)
        Dim searcher = New DirectorySearcher(New DirectoryEntry(forestGc)) With {
            .Filter = "(sAMAccountName=" & userId & ")"
        }
        Dim results = searcher.FindOne().GetDirectoryEntry()
        Return CDate(results.InvokeGet("PasswordExpirationDate"))
    End Function

問題。 如何顯示密碼將在 10 天后過期的用戶的完整列表? 列出在 DataGridView 中的字段:sAMAccountName 和密碼到期日期。

I know since it looks like you are attempting to do this with vb.net you can just run the following PowerShell command and then pipe it's output to wherever you would like. 您可能必須創建一個 PowerShell 實例,如下面的示例,然后在 Win forms 應用程序中運行代碼以使用 C# 執行此操作。

創建 Powershell 運行空間:

private string RunScript(string script)
        {
            Runspace runspace = RunspaceFactory.CreateRunspace();
            runspace.Open();
            Pipeline pipeline = runspace.CreatePipeline();
            pipeline.Commands.AddScript(script);
            pipeline.Commands.Add("Out-String");
            Collection<PSObject> results = pipeline.Invoke();
            runspace.Close();
            StringBuilder stringBuilder = new StringBuilder();
            foreach (PSObject pSObject in results)
                stringBuilder.AppendLine(pSObject.ToString());
            return stringBuilder.ToString();
        }

將 powershell 命令調用到運行空間(您可以將此代碼放在按鈕單擊或其他位置):

_ = RunScript("Get-ADUser -filter {Enabled -eq $True -and PasswordNeverExpires -eq 
$False} –Properties "DisplayName", "msDS-UserPasswordExpiryTimeComputed" | Select- 
Object -Property "sAMAccountName",@{Name="ExpiryDate";Expression= 
{[datetime]::FromFileTime($_."msDS-UserPasswordExpiryTimeComputed")}}");

然后 pipe output 使用“Out-String”到數據網格視圖。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM