创建一个包含所有AD用户的CSV以导入到Elastix

时间:2016-02-29 19:22:53

标签: csv powershell active-directory elastix

我在一个拥有大约1000名用户的测试环境中工作,我正在尝试使用以下标题创建一个CSV,以便在Elastix中使用:显示名称,用户扩展,秘密,技术。

用户目前没有分配扩展名,随机扩展名也没问题。秘密将是" 123456"对于他们所有人。技术将是" Sip"对所有人来说。

目前我有这个,但我正努力在我的循环中删除每个用户的名字:

$users = get-aduser -filter * | Select Name
$outpath = "C:\scripts\users.csv"
$outputArray =@()
"Display Name, User Extension, Secret, Tech"|out-file $outpath -Force
$ext = 1000
foreach($row in $users)
{
    $outputArray +=  "," + $ext++ + "," + "123456" + "," + "Sip"
}

$outputArray | out-file $outpath -Force

1 个答案:

答案 0 :(得分:0)

使用可以使用带有'计算属性的Select-Object cmdlet来执行此操作。和Export-Csv cmdlet。

(注意:在我的原始答案中,我没有在表达式中修改randomExtension变量的脚本范围。在尝试修复时,我在此处找到了解决方案:How can I increase the value of a variable in an expression?

$outputPath = "C:\test\users.csv"
$script:randomExtension = 1000
get-aduser -filter * | 
Select @{n='Display Name';e={$_.Name}}, 
   @{n='User Extension';e={$script:randomExtension++; $script:randomExtension}},
   @{n='Secret';e={'123456'}},
   @{n='Tech';e={'Sip'}} |
Export-Csv -Path $outputPath -NoTypeInformation