Powershell ForEach Loop выплевывает плохо отформатированный samAccountName

Я пытаюсь взять список имен учетных записей из группы, а затем создать файл в каждом из их домашних каталогов. Но проблема в том, что я сталкиваться - это каждый раз вместо получения учетной записи (egjsmith) я получаю @ [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

Я был бы очень признателен за помощь, так как я пытаюсь завершить этот проект к выходным

0
задан 15 January 2016 в 16:05
2 ответа

Использование ответа strongline работало с write-host, но не с Copy -Элемент, он все еще выплевывает тот же плохо отформатированный @ [samAccountName = j.smith]

Вместо этого я сделал

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

И это помогает. Спасибо за идею, strongline!

0
ответ дан 4 December 2019 в 16:43

, когда вы используете select-object, он возвращает массив объектов. Вместо этого используйте ниже:

$members = get-ADGroupMember
foreach ($member in $members){write-host $member.samAccountName}
1
ответ дан 4 December 2019 в 16:43

Теги

Похожие вопросы