0

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

用户目前没有分配给他们的扩展名,随机扩展名就可以了。他们所有人的秘密都是“123456”。技术将为他们所有人“啜饮”。

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

$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
4

1 回答 1

0

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

(注意:在我的原始答案中,我在表达式中修改时没有指定 randomExtension 变量的脚本范围。尝试修复时,我在这里找到了解决方案:如何增加表达式中变量的值?

$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
于 2016-03-02T18:56:30.563 回答