我试图从组中获取帐户名称列表,然后在每个帐户的主目录中创建一个文件。但我遇到的问题是,每次我得到的不是帐户(例如 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.txt
是H:\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!