重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

タイトルの件ですが、職場でActiveDirectoryを使用して認証しており、ロックがかかってしまったアカウントの解除をバッチ化したいと思って下記の内容で作成しました。
===========================================
@echo off

echo ユーザー名を入力してください。
set /p USERNAME=
net user "%USERNAME%" /domain

set /p answer="%USERNAME%のアカウントロックを解除しますか?(y/n): %answer%"
if "%answer%"=="y"(
net user "%USERNAME%" /active /domain
net user "%USERNAME%" /domain
echo アカウント有効がYesになっていることを確認してください。
pause
exit
) else if "%answer%"=="n" (
exit
===========================================
内容としては最初にアカウント名を入力しその入力したアカウントのステータスを確認。
解除を行うかanswerを入れyの場合は解除コマンドを実行し実行後に再度ステータスを確認、nの場合は終了するという動きにしたいのですが、yを入力しても強制終了してしまいます。

どこが間違っているかわからない為どなたかご教授いただけませんでしょうか。
宜しくお願い致します。

A 回答 (1件)

バッチはよくわからないけれど、


最後の ) が付いてないとか。

if ブロックの書き方が正しいかどうか。
if の中の net user の 2行を無くして試してみる。

それで期待通りに動くのであれば if の中に書いてある net user の 2行の処理が悪い。
とか。

# ちょうど先日、AD ユーザーのロックアウトを解除する PowerShell スクリプトを書いたところです。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
ifコマンドに関しては以前作成した別のバッチファイルで使っていたコマンドを併用している為、
動くことは確認しているんですが今回作成したバッチファイルではうまく動かないので困っています。

2行目のnet userコマンドを削除しましたがやはりだめでした。

お礼日時:2018/06/08 14:34

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