好吧-所以我工作的公司已经买下了相当多的域名。每个域都有不同的命名方案。(例如: john.smith,jsmith) -当我们终止某人时,我想在每个域中自动禁用他们的帐户。
这个脚本运行得很好,直到我在where-object cmdlet中添加了'or‘语句。
$user1 = "John.smith"
$user2 = "Jsmith"
get-aduser -Filter * | Where-Object {{$_.samaccountname -eq "$User1"} -or {$_.samaccountname -eq "$user2"}}如果我去掉or语句,它会找到用户。如果我放入或语句,它只返回我的域中的每个用户。
我还尝试避免使用-or,并使用if,else语句:
$user1 = "john.smith"
$user2 = "jsmith"
$result = Get-ADUser -filter * | Where-Object {$_.samaccountname -eq "$user1"}
if($result = $error) {Get-ADUser -Filter * | Where-Object {$_.samaccountname -eq "$user2"}}这不会返回错误--它只是不会返回任何东西(可能是if语句做错了--但是为什么没有返回错误呢?
谢谢,
发布于 2016-05-14 04:50:25
在Where对象中有一组额外的括号。你想要的东西可以用括号,但没有括号也一样:
get-aduser -Filter * | Where-Object {$_.samaccountname -eq "$User1" -or $_.samaccountname -eq "$user2"}https://stackoverflow.com/questions/37219096
复制相似问题