从两个CSV文件生成单词列表并导出为CSV

时间:2018-05-03 21:16:52

标签: powershell csv

我正在尝试使用PowerShell导入两个CSV文件,一个CSV称为accts,一个称为名称。 accts文件有8个数字,名称文件有4个名字。我需要输出一个组合,其最终目标是输出一个包含STX前缀的32个单词的列表。我将获取32的这个列表并创建32个AD对象。理想情况下,我还需要运行检查以查看单词/ AD对象是否已存在。

accts: 12345 23456 34567 45678 56789 67890 78901 89012
names: john dave joe mike

输出应为:

stx-12345-john
stx-23456-john
stx-34567-john
stx-45678-john
stx-56789-john
stx-67890-john
stx-78901-john
stx-89012-john
stx-12345-dave
stx-23456-dave
stx-34567-dave
stx-45678-dave
stx-56789-dave
stx-67890-dave
stx-78901-dave
stx-89012-dave
etc.

我考虑过尝试使用数组,但也许这会很复杂。有什么建议吗?

1 个答案:

答案 0 :(得分:0)

嗯,我觉得你不应该在使用Powershell的AD上工作,如果这个时候你已经远远不适合你了。是的,你会使用数组,然后循环遍历它们。

所以我尽可能地爆炸了我的代码,这样你就可以了解它背后的逻辑。

$accts = @("12345","23456","34567","45678","56789","67890","78901","89012")
$names = @("john","dave","joe","mike")
$adobject = @()

foreach($n in $names){
    # for each name, go through the accts and add the prefix
    foreach($a in $accts){
        #store all items in an array
        $adobject += "stx-"+$a+"-"+$n 
    }
}
cls
# go through your array you just created
foreach($o in $adobject){
    if(get-aduser $o){
        Write-host "user $o already exists"
    }else{
        new-aduser $o #create user
    }
}

这样的小任务是学习编码和逻辑的最佳方法。您应该能够将其翻译为使用CSV。