コンピューターアカウントを新しいOUに一括で移動する


9

私は約2500台のコンピューターを持つOUを持っています。それらの580を別のOUに移動する必要があります。バッチファイルでこれを行う方法はありますか?コンピューター名を含むテキストファイル(FQDNではない)があります。

回答:


9
FOR /f %%i in (C:\path\to\textfile.txt) do (

  dsquery computer -name %%i | dsmove -newparent OU=newOU,DC=domain,DC=com

)

それはあなたのためにそれを世話します。

編集:dsmoveを使用する必要があったので久しぶりです:)移動するオブジェクトのDNが必要なので、リストからDNを取得してパイプするために、パイプの前にdsqueryを追加しましたdsmoveに。これで、NetBIOS名のみのリストで問題なく動作するはずです。


1つのコマンドで実行するための+1
Nixphoe

1

小さなNixphoeの答えでエラー- todoと行方不明do

FOR /f %%a in (file.txt) do dsquery computer -name %%a >> fqdnfile.txt

FOR /f %%b in (fqdnfile.txt) do dsmove %%b -newparent OU=newOU,DC=domain,DC=local

1
WelomeからServerFaultへ。既存の投稿を編集してください。これらの提案はコミュニティの承認を得るために吟味されます。
jscott 2013年

1

テキストファイルにコンピューターの名前があり、各行に1つあるとすると、次のコマンドを実行してそれらのfqdnをエクスポートします。

FOR /f %%a in (file.txt) DO dsquery computer -name %%a >> fqdnfile.txt

次に、次のコマンドを実行してそれらを移動します。これを最初にテストするには、dsmoveのlueでechoコマンドを使用してください

FOR /f %%b in (fqdnfile.txt) DO dsmove %%b -newparent OU=newOU,DC=domain,DC=local

テストしてみてください。うまくいかない場合はお知らせください。


1
dsmove afaikにはFQDNは必要ありません。
MDMarra

甘い、実際に物事を一括で移動する必要がなかった。しかし、私はコマンドについて多くを読みました。知っておきたい!あなたがしたのと同じ答えに近づいて
良かった

1
@Grey Tuxではcmdなくスクリプトを実行する必要がありますpowershell
jscott

1
%% aではなく%aでなければなりません
Grey Tux

1
ええ、2%はバッチファイルから実行している場合です。1%は、コマンドラインから実行している場合です
Nixphoe

0

新しい管理者のための少しずつのステップ:コンピューター名が1行に1つずつリストされているfile.txtを取得します。

PC-001
PC-002
PC-003

CMDを開き、行がfile.txtと同じ場所にあることを確認してから、以下の行を貼り付けます

FOR /f %a in (file.txt) DO dsquery computer -name %a >> fqdnfile.txt

これにより、file.txtと同じ場所にファイルfqdnfile.txtが作成されます

これは、識別名(1行に1つ)を含むfqdnfile.txtを解析します

注:BATファイルにはダブル%%、CMDにはシングル%を使用する必要があります

次に、以下の行を実行します。

FOR /f %b in (fqdnfile.txt) DO dsmove %b -newparent "OU=COMPUTERS,OU=My Bus,DC=Domain,DC=com"

注:My Busなどの名前にスペースが含まれている場合は、識別名を「」で囲む必要があります。

以下の行を実行して、すべてが正しく移動されたかどうかを確認します

FOR /f %a in (file.txt) DO dsquery computer -name %a >> location.txt
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.