PowerShell でドメインユーザー連続作成 ~ While 編 ~

前回は、CSV ファイルから任意の位置(列,行)の情報を読み込むところまでやりました。

今回はその「」がテーマです。

” ($L[0]).name ” の [0] の部分が「行」を表すわけですが、これを 0 -> 1 -> 2 とカウントアップさせながら、同じ処理(ドメインユーザー作成)を繰り返し行わせる方法を解説します。

 

 

まず、パラメーター(変数)として扱う「行」を、「$C」とします。

最初に ” $C = 0 ” と定めておけば、 ” ($L[$C]).name ” の結果として「aaa」を得る事が出来ます。

 

 

次に、$C をカウントアップ(処理を 1 回行うごとに、1 ずつ増加)させながら繰り返し処理するために、While ステートメントを用います。

基本構文は「 While  (繰り返す条件)  {繰り返し実行したいコマンドレット}  」です。

 

 

(繰り返す条件) は、今回の場合「$C が 2 以下の場合」となります。

つまり、CSV ファイルのユーザーリストを 1 行目 -> 2 行目 -> 3 行目 と順に読み込んで処理し、処理するたびにカウントアップした $C が「3」に達したらそれ以降は処理せず、終了します。

これは、” ($C -le 2) “ と記述します。

あるいは、「$C が  3 より小さい場合」を意味する ” ($C -lt 3) ” でも同様の結果となります。

 

 

次に {繰り返し実行したいコマンドレット} ですが、ここは二段構成となります。

一つ目は、本来の目的である「ドメインユーザーの作成」です。これについては次回以降詳述します。

二つ目が、「$C のカウントアップ」です。こちらは、” $C++ “ ないし” $C = $C+1 “ と記述します。

これにより、ドメインユーザーを一人作り終えた直後に「$C」がカウントアップされるため、次の処理ではCSV ファイルの一つ下の行のデータが読み込まれます。

 

 

これまでのところをまとめると、こうなります。

$L = import-csv samplelist.csv

$C = 0

while ($C -le 2)

{

<ドメインユーザー作成コマンドレット>

$C++

}

 

 

続く