我有一个CSV文件,它只是一个用户名列表,例如“jsmith,mdoe,smae等”。
我需要在Powershell中读取此文件,并根据其首字母将它们添加到不同的AD组。所以“jsmith”需要进入J组,“mdoe”需要进入M组,并且“smae”需要进入S组。
如何阅读此数据并根据第一个字母将其分开?
答案 0 :(得分:1)
读取文件,然后根据.SubString(0,1)添加到组中。
如果您有标题行,则需要在Select -Skip 1 |
循环之前添加%{
。
GC file.csv | %{Add-ADGroupMember ($_.SubString(0,1)) $_}
编辑:好的,你想让它崩溃,所以我会尽我所能。
GC file.csv
- GC是Get-Content的缩写。这将读取文件,并一次沿管道1行传递内容。
%{
- 这是ForEach{
的缩写,因此脚本块{...}
中的内容将针对每一行执行。
Add-ADGroupMember ($_.SubString(0,1)) $_
- 该命令将用户帐户添加到AD组。第一个参数($_.SubString(0,1))
是您要添加的组。它读取的内容是$_
(正在处理的当前行).SubString(0,1)
表示它从字符0(第一个字符)开始占用字符串的一部分,并且仅占用1个字符,因此(0,1)
部分。第二个参数$_
是正在处理的整行,根据您的说法,它应该只是用户名。
}
- 关闭了ForEach循环。
答案 1 :(得分:0)
$一个= “foobar的”
$一个[0]
这将为您提供字符串的第一个字符。