如何在php中调用PowerShell脚本以从AD中的两个域控制器获取最后登录数据



我使用PHP,因为下面提到的问题。

问题:Lastlogon属性存储通过用户身份验证的域控制器的时间戳。例如,在身份验证期间,如果它使用Domain1,则它将更新该域控制器中的时间戳,反之亦然。当我的应用程序获取数据时,同样的情况也适用,并且将显示身份验证期间该DC中的属性值。

由于我们的环境中有两种类型的人的主DC和辅助DC,因此根据用于身份验证的DC,每个DC中相同帐户的LastLogon属性值将不同,因此它显示不同的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脚本的输出。

EDIT:根据服务器的配置和脚本的位置,您可能需要明确说明perl可执行文件和脚本的路径。

(本例假设unix/linux(

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

最新更新