プロが教える店舗&オフィスのセキュリティ対策術

windows serverど素人です。
windowsサーバーにおいて、caclsコマンドをbat実行しようとすると、
1行目をループ実行し、2行目に進みません。
原因と対処方法のわかる方是非アドバイスください。


テスト(↓)では正常に実行できたのですが、本番バッチにおいて
【手順】(4)の1行目をループします。

文字コードや特殊文字が入っていないかは、テスト作業実施前に
チェック済みですが・・・(再度実行します)

原因と対処方法のわかる方是非アドバイスください。


【背景や目的】
4月から新規小企業に転勤し1人で管理者をまかされています。
windows serverで、新規ユーザーを400人分ほど登録する必要があります。

【手順】
前任者からの引継ぎにより次の作業をbatファイルにて実行します
(1)dadd user OU 省略 DC 省略 など以下省略
(2)mdで個人用フォルダ(homeフォルダ?)作成 
 (※個人フォルダのパスの一部フォルダ名に「$」の文字を含む
  意味があるのかはわかりませんが、前々任者の指示による。
  特殊文字でひっかからないのでしょうか!?)
(3)mdで(2)で作成した各個人フォルダのしたに「docu」という名前のフォルダを作成する
(4)caclsコマンドで(2)のフォルダそれぞれに(1)のユーザーのフルアクセス権を設定する


【テスト実施結果】
(1)前任者からのエクセルファイルとバッチファイルを比較。
 バッチ作成用のエクセルファイルにおいて参照が崩れていて不明な点が
 多々発生したため、修正。

(2)10人分のテストデータを作成し、生成したbatファイルを前年分と比較

(3)テスト用バッチファイルを4つを実行。

(4)以下を確認
 ・バッチ正常に実施
 ・クライアントからログインできる
 ・その他のアクセス権なども正常であることを確認

【本番】
400人分のデータを作成

【本番:問題発生】
caclsバッチ実行時にループ発生。
1行目を無限に実行しようとしている。

【本番:問題発生後の結果】
1行目のバッチは実行され、1つ目のフォルダには1行目のユーザーのフルアクセス権が
設定されているが2行目で指定しているフォルダには何も設定されていないままである。


【本番:補足】
本番の作業において(1)のdadd userを実行する際に、スペースをタブのまま実行したため
ユーザーの作成ができていなかった。

このため、タブをスペースに変換し再度実行したところ、ユーザー作成が正常に完了した。
影響を心配したがその後の(2)(3)の作業は問題なく実施することができたため(4)の原因
ではない!?

その他OUなどの手動作成などもありますが、前任者に電話で確認しテストでは正常に
実行できています。

A 回答 (2件)

よくやらかすのは


バッチファイルの名前をバッチファイル内で実行しているコマンドと同じにしちゃって、
コマンドを実行しているつもりがそのバッチファイル自身を呼び出して
無限再帰呼び出しになったとか。
    • good
    • 0
この回答へのお礼

ありがとうございます。
おっしゃるとおりファイル名でした。
問題解決しました。ありがとうございまいた!


次のように不思議な実行結果でしたが・・
・コマンドと同じものをファイル名にしても実行できているもの
・コマンド名と異なる(末尾にハイフンで続けて数字などがある「cacls_withonly10line」など


・windowsのコマンド操作は初心者はどの資料から勉強したらよいのでしょうか。たいていの本はGUIで・・・

お礼日時:2014/05/08 07:04

バッチかデータのどちらかがおかしいとしか考えられません。


その内容を開示できないところで質問しても解決するのは無理です。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!