Powershell ForEach 循环输出格式错误的 samAccountName

Powershell ForEach 循环输出格式错误的 samAccountName

我试图从组中获取帐户名称列表,然后在每个帐户的主目录中创建一个文件。但我遇到的问题是,每次我得到的不是帐户(例如 jsmith),而是 @[h=samAccountName=j.smith] 或类似的内容。我不知道我做错了什么。我是一名 Linux 管理员,被迫与 PS 合作完成这个项目。

Get-ADGroupMember "Group" | select sAMAccountName |
ForEach-Object
{
Copy-Item
H:\test.txt H:\$_\test.txt
}

最终结果H:\@[samAccountname=j.smith]\test.txtH:\j.smith\test.txt

我非常感激您的帮助,因为我正试图在周末之前完成这个项目

答案1

当您使用 select-object 时,它会返回一个对象数组。请改用以下方法:

$members = get-ADGroupMember
foreach ($member in $members){write-host $member.samAccountName}

答案2

使用 strongline 的答案与 write-host 一起使用,但与 Copy-Item 一起使用时不起作用,它仍然会吐出相同格式错误的 @[samAccountName=j.smith]

我所做的是

foreach($user in $Users)
{
$useraccount = $user.samAccountName
Copy-Item H:\test.txt H:\$useraccount\test.txt
}

这招奏效了。谢谢你的想法,strongline!

相关内容