我目前使用以下脚本创建具有我需要的某些属性的联系人。
New-ADObject -name SGTContacttest5 -Type Contact -path "OU=SGTestOU,OU=Contacts,DC=DC,DC=Company,DC=local" -OtherAttributes @{
'department'="America";
'givenName'="SG";
'sn'="Test";
'displayname'="SG Test";
'title'="Job Title";
'telephoneNumber'="020";
'mobile'="075";
'mail'="SGTest888@example.com";
'physicalDeliveryOfficeName'="Office Name";
'company'="Company Name";
'proxyAddresses'="smtp:SGTest888@example.com";
'targetaddress'="smtp:SGTest888@example.com"
}
这很有效但现在我需要从CSV文件中输入大约100个这样的联系人。 我把它放在顶部,我会说:
$users = Import-Csv -Path C:\temp\users.csv
然后我会以某种方式使用它:
foreach ($user in $users) {
我的CSV启动方式与我的代码相同,列如下所示:
答案 0 :(得分:2)
这是一个相当开放的问题,但是这个例子中的$ user是一个简单的占位符变量,所以可以是任何东西,$ i或$ temp,它代表父级的一个交互,在这种情况下是$ users。
这将是一个很好的开始,看看你的回复:
$users = import-csv -Path C:\temp\users.csv
foreach ($user in $users)
{
$user
}
使用:强>
foreach ($user in $users)
{
$user | get-member
}
了解您必须使用的内容。
然后您可以访问$ user的属性,如下所示:
foreach ($user in $users)
{
New-ADObject -name SGTContacttest5 -Type Contact -path "OU=SGTestOU,OU=Contacts,DC=DC,DC=Company,DC=local" -OtherAttributes @{
'department' = $user.department
'Surname' = $user.Surname
}
}
答案 1 :(得分:0)
您可以在foreach循环中访问$user.Job
之类的变量。请注意,您应该省略引号。这里有一个属性的例子,你应该能够自己做其余的事情:
$users = Import-Csv -Path C:\temp\users.csv
foreach ($user in $users)
{
New-ADObject -name SGTContacttest5 -Type Contact -path "OU=SGTestOU,OU=Contacts,DC=DC,DC=Company,DC=local" -OtherAttributes @{
'department'=$user.Job;
# ....
}
}