簡體   English   中英

如何在 php 中調用 PowerShell 腳本以從 AD 中的兩個域控制器獲取上次登錄數據

[英]How can i call PowerShell script in php to get the lastlogin data from two Domain Controllers in AD

我正在使用 PHP 並且因為下面提到的問題。

問題:Lastlogon 屬性通過用戶進行身份驗證存儲域控制器的時間戳。 例如,在身份驗證期間,如果它使用 Domain1,那么它將更新該域控制器中的時間戳,反之亦然。 這同樣適用於我的應用程序獲取數據時,將顯示身份驗證期間該 DC 中的屬性值。

由於我們的環境中有兩個類型的人的主要和次要 DC,因此每個 DC 中的同一帳戶的 LastLogon 屬性值將根據用於身份驗證的 DC 不同,因此它顯示不同的 LastLogon。

在此處找到更多詳細信息

解決方案:

我們找到了一種編寫 PowerShell 腳本的方法,用於從兩個域控制器獲取最后一個登錄名,並在比較后發布最新的登錄名。

腳本已准備就緒,我不知道如何從 PHP(Apache 服務器)放置和運行代碼。 任何建議或分步程序都會有所幫助。 下面是放置 lastlogon 的代碼。

$this->attributes = array("department","whencreated","whenchanged", "pwdlastset","lastlogon","objectsid","homedrive");

您可能正在尋找 shell_exec()。

您肯定需要安裝 perl 才能運行 perl 腳本。

然后,在你的 PHP 中,你調用

$answer = shell_exec( 'yourscriptname.pl' )

或者

$answer = shell_exec( 'perl yourscriptname.pl' )

$answer 將包含 perl 腳本的輸出。

編輯:根據服務器的配置和腳本的位置,您可能需要明確說明 perl 可執行文件和腳本的路徑。

(此示例假設為 unix/linux)

$answer = shell_exec( '/usr/bin/perl /path/to/yourscriptname.pl' )

暫無
暫無

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

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