我正在尝试使用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.
我考虑过尝试使用数组,但也许这会很复杂。有什么建议吗?
答案 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。