需要Get-ADUser才能输出用户输入

时间:2015-07-26 04:07:42

标签: powershell active-directory

我正在努力让Powerhsell回应用户输入和查询AD,但我现在就被卡住了。当我运行代码时,它只返回变量没有结果。也希望能够减少返回只有几个属性。如果多个用户具有相似的名称,我将需要创建一个循环或某些东西,以通过多个帐户工作,还没有到达那里。这样做的目的是能够在帮助台上快速查看有关用户的必要信息,并最终能够使用它来进行简单的密码重置和移动对象。非常新的,非常感谢任何建议或帮助。这个网站总是很好。提前致谢。

$Firstname = Read-Host 'What is the users FirstName?'

$Lastname = Read-Host 'What is the users Lastname?'

Get-ADUser -Filter {(Name -Like "$Firstname*") -And (Surname -Like "$Lastname*")} -Properties LastLogondate LockedOut EmployeeID

2 个答案:

答案 0 :(得分:1)

这是AD cmdlet上-Filter参数的已知问题。您可以单独使用变量,但不能在过滤器内部的字符串内部使用。

所以你可以这样做:

$Firstname = Read-Host 'What is the users FirstName?'
$Firstname = "$Firstname*"

$Lastname = Read-Host 'What is the users Lastname?'
$Lastname = "$Lastname*"

Get-ADUser -Filter {(Name -Like $Firstname) -And (Surname -Like $Lastname)} -Properties LastLogondate LockedOut EmployeeID

答案 1 :(得分:0)

Properties参数的参数是一个字符串数组,您需要用逗号分隔它们:

Get-ADUser -Filter {(Name -like "$Firstname*") -and (Surname -like "$Lastname*")} -Properties LastLogondate,LockedOut,EmployeeID