我的powershell脚本和计划任务上的奇怪行为

时间:2014-07-07 11:40:38

标签: windows powershell scheduled-tasks

对我在AD服务器上运行powershell的一些奇怪行为提出疑问 我创建了一个powershell脚本来从AD检索非活动用户信息,不确定它是否相关,但我将其包含在下面:

$searchRoot = @("mydomain.com/TEst/test1","mydomain.com/TEst/test2")
$searchRoot += @("mydomain.com/TEst/test3")
Add-PSSnapin Quest.ActiveRoles.ADManagement<br>
$inactiveUsers = @()
Foreach ($ou in $searchRoot) {
$inactiveUsers += @(Get-QADUser -SearchRoot $ou -Enabled | Select-Object Name,SamAccountName,LastLogonTimeStamp,Description,passwordneverexpires,canonicalName)}

$body = $inactiveUsers
$body | out-file -filepath C:\DisableInactive\disabletest.txt -append

我安排此脚本运行另一个ID(不是我登录的1),脚本运行时间不到5秒,但计划任务需要一分多钟才能完成(如下所示):

  

“DisableInactiveUsers.job”(powershell.exe)
    2014年7月7日下午2:26:00开始   “DisableInactiveUsers.job”(powershell.exe)
    完成7/7/2014 2:27:39 PM
    结果:任务完成,退出代码为(0)。

但是,当我使用该计划ID重新注销并再次登录时,计划在4秒内完成。

  

“DisableInactiveUsers.job”(powershell.exe)
      2014年7月7日下午7:02:41开始   “DisableInactiveUsers.job”(powershell.exe)
      完成7/7/2014 7:02:45 PM
      结果:任务完成,退出代码为(0)。

然后我使用自己的ID登录并右键单击再次运行计划,它在5秒内完成。
怀疑与用户配置文件有关,然后我从系统属性中删除配置文件并运行再次工作,猜猜看,预定的工作用了1分多钟再完成。
在所有这些注销期间以及在
中,脚本和计划任务都没有被更改 我不确定它是否与我的脚本有关但我真的很感激,如果有人可以指出我的脚本有什么问题/为什么计划任务的行为如此。
谢谢。

1 个答案:

答案 0 :(得分:2)

试试这个,删除个人资料。让任务自动运行多次。如果第一次花费更长时间,后续运行很快。然后可能是由于必须在初始登录时在本地计算机上创建配置文件(&amp;组策略处理等)。

很抱歉,当它应该是评论时给出答案,我还没有足够的代表发表评论。