[NT] メンバー サーバー上のローカル グループを自動更新

この記事は、以前は次の ID で公開されていました: JP180546
この資料は、アーカイブされました。これは "現状のまま" で提供され、更新されることはありません。
概要
バッチ ファイルを使用して、ドメイン環境において Windows NT Server または WindowsNT Workstation が動作しているコンピュータすべてのローカル グループに対してリモートでユーザー アカウントを追加することができます。
詳細
この資料では、ドメイン環境において、Windows NT Server または Windows NT Workstation が動作しているすべてのコンピュータの Administrators ローカル グループにユーザーを追加するバッチ ファイルの作成方法を説明します。

このバッチ ファイルは、Windows NT 4.0 リソース キットに含まれる Netdom.exe を使用して、ドメイン内でメンバー サーバーやメンバー ワークステーションとして稼働している Windows NT コンピュータの一覧が作成します。次に、一覧にある各コンピュータが現在オンラインであるかどうかを、ping を使用して調べます。コンピュータがオンラインである場合、Addusers.exe が呼び出されて、そのコンピュータの Administrators ローカル グループに新しいユーザーを追加します。オフラインのコンピュータについては、その名前がテンポラリ ファイルに置かれます。コンピュータすべてについて処理が終了すると、テンポラリ ファイルはそのドメインのコンピュータ一覧と比較され、まだアップデートされていないコンピュータの一覧が新しく作成されます。このバッチ ファイル システムは、まだ処理が必要なコンピュータだけを対象にして、何度でも実行できます。

このバッチ ファイルを作成するには、次の手順を実行します。
  1. 以下の一覧から、次のバッチ ファイルを作成します。
    INSUSER.BAT, SUB1.BAT, SUB2.BAT, SUB3.BAT, SUB4.BAT,
    SUB5.BAT, および ADDUSERS.DAT.
  2. 対象となるコンピュータが属するドメイン名を表すように INSUSER.BAT の 1 行目を変更します。
  3. 各コンピュータのローカル管理者グループに追加したいユーザーの名前を表すように Addusers.dat の 2 行目にある <domain\user> を変更します。Addusers.dat ファイルの冒頭に空白行がないことを確認してください。
  4. 変更したいドメインの管理者アカウントで、そのネットワークにログオンします。
    Windows NT 4.0 リソース キットをインストール済みで、パスが通っていることを確認してください。このシステムでは、リソース キットの Netdom.exe と Addusers.exe を使用します。
  5. INSUSER.BAT を実行します。このバッチ ファイルが完了するまで何時間もかかる場合があります。
  6. Complete.txt および Working.txt の内容を調べます。Complete.txt ファイルにはアップデート済みのコンピュータの名前が含まれ、Working.txt ファイルには、まだ処理が必要なコンピュータの名前が含まれます。
必要に応じて、手順 5 および 6 を繰り返します。

すべての処理を最初からやり直したい場合は、.txt ファイルをすべて消去したうえで、手順 1 から始めます。

Filename: INSUSER.BAT
set CurrentDomain=mydomainecho offclsif (%CurrentDomain%) == (mydomain) echo Edit the first line of INSUSER.BAT.if (%CurrentDomain%) == (mydomain) echo then rerun INSUSER.BATif (%CurrentDomain%) == (mydomain) goto verybottomif not exist addusers.dat goto DisplayAddUsersrem *** 現在の変数の設定を表示する ***echo 現在のドメインは %CurrentDomain% です。echo.rem *** サーバーの一覧があるかどうかを調べます。***If exist working.txt echo サーバーの一覧が見つかりました。続行します。If exist working.txt goto SkipCreateListecho %CurrentDomain% のメンバー サーバーの一覧を作成しています。echo.netdom /d:%CurrentDomain% member > working.txtrem *** NETDOM を削除して書式を整えます。***if exist temp.txt del temp.txtfor /F "skip=6 delims=\\ tokens=2" %%a in (working.txt) do call sub1.bat%%adel working.txtren temp.txt working.txt:SkipCreateListrem *** マシンがオンラインかどうかを調べます。***if exist online.txt del online.txtfor /F "delims=\\ tokens=1" %%a in (working.txt) do call sub2.bat %%arem *** 処理済みのサーバーを WORKING.TXT から削除します。***if not exist online.txt goto NoServersOnlineecho.echo 処理が必要なサーバーの一覧をアップデートしています。for /F "delims=  tokens=1" %%a in (online.txt) do call sub4.bat %%aecho 一覧の作成が完了しました。goto Bottom:DisplayAddUsersEcho.Echo. ADDUSERS.DA の内容を編集してから、ファイル名を ADDUSERS.DAT にEcho. 変更してください。その後、このバッチ ファイルを再実行してください。goto verybottom:NoServersOnlineEcho.Echo 処理できるオンラインのサーバーがありません。:Bottomecho.echo ---------------------------------------echo --- サーバーへの処理が完了しました。---echo ---------------------------------------:verybottomFilename: SUB1.BATrem *** Netdom 出力から削除し、書式を整えます。***echo %1 >> temp.txtFilename: SUB2.BATecho  %1 を ping テストしています...ping %1 > PING.TXTfor /F "skip=6 delims=  tokens=4" %%a in (PING.TXT) do call sub3.bat %%a %1del PING.TXTFilename: SUB3.BATrem *** サーバーがオンラインなら、後の処理のために online.txt に記録します。***rem ***    %2 はニセの変数なので捨てます。if not (%1) == (bytes) goto NotOnlineecho %3 >> ONLINE.TXTecho [%3 is online.]rem *********************************************************rem *** サーバーごとの処理コマンドはここより下に記します。***rem *********************************************************ECHO 新しいユーザーを %3 の Administrators ローカル グループに追加しています。ECHO *** \\%3 *** >> local.logrem 各メンバー サーバーの Administrator ローカル グループにrem ユーザーを追加します。ADDUSERS \\%3 /C addusers.dat > nulrem *********************************************************rem *** サーバーごとの処理コマンドはここより上に記します。***rem *********************************************************goto Sub3Bot:NotOnline:Sub3BotFilename: SUB4.BATrem *** working.txt にある名前はそのまま残し、 ***rem *** online.txt にあったサーバーは削除します。***echo %1 を一覧から削除しています。if exist temp.txt del temp.txtfor /F "tokens=1" %%a in (working.txt) do call sub5.bat %%a %%1del working.txtif exist temp.txt ren temp.txt working.txtFilename: SUB5.BATrem *** アップデート済みのサーバーは除外します。***rem %1 は working.txt にある名前です。rem %2 は online.txt にある名前です。if (%1) == (%2) echo %1 >> complete.txtif not (%1) == (%2) echo %1 >> temp.txtFilename: ADDUSERS.DAT[Local]Administrators,Members can fully administer the computer,<domain\user>,
関連情報
この資料は米国 Microsoft Corporation から提供されている Knowledge Base の Article ID 180546 (最終更新日 1998-06-08) をもとに作成したものです。

プロパティ

文書番号:180546 - 最終更新日: 02/22/2014 06:57:50 - リビジョン: 3.0

Microsoft Windows NT Workstation 3.5, Microsoft Windows NT Workstation 3.51, Microsoft Windows NT Workstation 4.0 Developer Edition, Microsoft Windows NT Server 3.5, Microsoft Windows NT Server 3.51, Microsoft Windows NT Server 4.0 Standard Edition

  • kbnosurvey kbarchive kbinfo ntdomain ntsrvwkst ntsecurity KB180546
フィードバック