如何根据第一个字母读取CSV文件

时间:2014-05-30 20:15:33

标签: powershell active-directory

我有一个CSV文件,它只是一个用户名列表,例如“jsmith,mdoe,smae等”。

我需要在Powershell中读取此文件,并根据其首字母将它们添加到不同的AD组。所以“jsmith”需要进入J组,“mdoe”需要进入M组,并且“smae”需要进入S组。

如何阅读此数据并根据第一个字母将其分开?

2 个答案:

答案 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]

这将为您提供字符串的第一个字符。