サーバ管理をしていると、複数のサーバから不要なフォルダを削除したり、一度にユーザパスワードを変更したりといろいろと作業が発生します。
そんな時に逐一、サーバにログインしてコマンドを打って・・・となると
工数が発生するし、人間の作業だしミスも出る可能性もあります。
それを防ぐために今回はPsexecとforループを使って、ファイルから対象のオブジェクトを読み込んで一気にフォルダ削除のバッチ処理を行うプログラムを作りました。
念のため、名前解決ができていなくても対応できるようにDB側はローカルIPのフィールドを作りました。
c:\tempにpsexec・バッチ本体・DBを格納して使います。
プログラム本体
-----------------------------------------
rem ◆c:\Userフォルダ削除
@echo off
for /f "tokens=1,2,3,4,5 delims=," %%a in (c:\temp\winsrv2.txt) do (
echo ◆c:\users Profiles Folder del
echo domain name :%%a
echo administrator :%%c
echo del profile :%%e
psexec -u %%a\%%c -p %%d \\%%b cmd /c "rmdir /Q /S c:\users\%%e"
echo *****
)
-----------------------------------------
DB
セパレタはカンマ、フィールドは以下になります。
サーバ名,ローカルIP,ローカル管理者権限ユーザ,パスワード,フォルダ名
-----------------------------------------
hogehoge,192.168.198.133,administrator,P@ssw0rd,test00