【发布时间】:2018-02-10 13:02:39
【问题描述】:
我正在尝试使用 csv 文件编写在活动目录中创建帐户的脚本。不幸的是,我通常是 PowerShell 和脚本的新手,并且在管理 foreach() 循环时面临困难,该循环旨在处理我导入的 csv 文档中的每一列。
我怀疑我不能像我一样在 foreach() 之后的一个块中定义我的变量,但我不确定并且希望得到一些指导。具体来说,代码的目的是读取一个 csv 文档,并将每个项目分配给一个变量,然后使用该变量创建一个具有这些值的服务帐户。
理想的情况是我可以创建一个包含数百行的 csv,执行脚本并以数百个匹配的服务帐户结束。
$SVC = (import-csv C:\users\me\desktop\Test.csv -header("Name", "Pass", "WhatDo", "Location", "Domain")) `
foreach($variable in %SVC) {
$name = $SVC.Name
$Pass = $SVC.Pass
$WhatDo = $SVC.WhatDo
$Location = $SVC.Location
$Domain = $SVC.Domain
New-ADuser `
-Name $name `
-AccountPassword (Convertto-SecureString $Pass -AsPlainText -Force) `
-CannotChangePassword $true `
-Description $WhatDo `
-DisplayName $name `
-Enabled $true `
-GivenName $name `
-PasswordNeverExpires $True `
-Office $Location `
-Path "OU=Service-Accounts, Ou=Accunts, OU=_CORP, DC=$Domain, DC=net" `
-SamAccountName $name `
-UserPrincipleName $name + "@" + $domain + ".net" `
Start-Sleep -Seconds 15
Get-ADUser `
-Identity $name | Add-ADPrincipalGroupMembership `
-MemberOf "Group1","Group2","Group3"
}
【问题讨论】:
-
请描述您遇到的问题 - 否则您的问题可能会面临关闭:寻求调试帮助的问题(“为什么这段代码不起作用?”)必须包括所需的行为,具体问题或错误以及在问题本身中重现它所需的最短代码。没有明确问题陈述的问题对其他读者没有用处。请参阅:how to create a minimal, verifiable example。祝你好运!
-
foreach ($item in $SVC)- 但是网上有很多关于从csv、excel、txt等创建AD用户的例子……
标签: powershell csv variables foreach