【问题标题】:Powershell foreach write-host as individual recordsPowershell foreach 写入主机作为单独的记录
【发布时间】:2014-09-07 18:30:34
【问题描述】:

我有以下 Powershell 脚本正在工作,它搜索 AD 用户的姓氏,但没有得到我期望的 foreach 循环输出结果。 Server 2008 R2 域和 Powershell v3

如果我有 UserA LastName1 和 UserB LastName1,则输出结果如下:

请输入用户名:姓氏1

User Name:  UserB LastName1 UserA LastName1
Login Name:  UserB.LastName1 UserA.LastNam1
Year Created:  2012 2014

User Name:  UserB LastName1 UserA LastName1
Login Name:  UserA.LastName1 UserA.LastName1
Year Created:  2012 2014

我正在尝试这样输出:

User Name:  UserB LastName1
Login Name:  UserB.LastName1
Year Created:  2012

User Name:  UserA LastName1
Login Name:  UserA.LastName1
Year Created:  2014

我使用的脚本如下:

$UserName = read-host "Please Enter Users LastName"
$SAN = "*$UserName*"
$GetUser = GET-ADUSER -Filter {(SamAccountName -like $SAN) -and (enabled -ne "FALSE")}         
-Properties * | Sort-Object givenname -Descending

foreach ($FoundUser in $GetUser) 

{
write-host "User Name: " $GetUser.CN
write-host "Login Name: " $GetUser.samaccountname
write-host "Year Created: " $getUser.whencreated.year
write-host
}

$GetUser.CN 结果如下,所以我试图弄清楚为什么我的写主机每行产生两个条目。

UserB LastName1
UserA LastName1

【问题讨论】:

    标签: powershell active-directory


    【解决方案1】:

    在您的foreach 循环中,您需要将每个$GetUser 替换为$FoundUser$GetUser 包含整个列表,而$FoundUser 是当前列表条目,它随着循环的每次迭代而变化。您当前实现它的方式是在每次迭代时打印列表的全部内容,而不是仅打印当前项目。

    您更新后的代码将如下所示:

    $UserName = read-host "Please Enter Users LastName"
    $SAN = "*$UserName*"
    $GetUser = GET-ADUSER -Filter {(SamAccountName -like $SAN) -and (enabled -ne "FALSE")}         
    -Properties * | Sort-Object givenname -Descending
    
    foreach ($FoundUser in $GetUser) 
    
    {
        write-host "User Name: " $FoundUser.CN
        write-host "Login Name: " $FoundUser.samaccountname
        write-host "Year Created: " $FoundUser.whencreated.year
        write-host
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-28
      • 2021-12-30
      • 1970-01-01
      相关资源
      最近更新 更多