固有のログイン資格情報を持つリモート サーバー リストのシステム情報を取得するためのバッチ ファイル

固有のログイン資格情報を持つリモート サーバー リストのシステム情報を取得するためのバッチ ファイル

私はスクリプトに精通していません。現在、サーバーの稼働時間をチェックして、予定通りに再起動されたかどうかを確認するタスクがあります。

input.txtGoogle 検索で調べたところ、すべてのサーバー名とoutput.txt結果を含むファイルのアイデアを見つけました。

問題は、各サーバーに固有の一般ログインがあることです。たとえば、ログイン名はdomain\server1、パスワードは ですserver1domain。入力ファイルは次のようになります。

domain\server1, server1domain
domain\server2, server2domain
domain\sevrer3, server3domain

私は を使用しserverinfo /s | find "uptime" >>c:\output.txtoutput.txt次のようになりたいと思っています:

domain\server1      uptime   <uptime of server>
domain\server2      uptime   <uptime of server>
domain\server3      uptime   <uptime of server>

ファイルの終わりまでこれを繰り返しますinput.txt

非常に基本的なバッチファイルを作成できる人はいますか?

答え1

いくつか変更を加えました。お役に立てれば幸いです。現時点では、自分の環境に合わせて変更しようとしたバッチ ファイルがあります。

サーバー名のリストを含む input.txt があり、このループでサーバー名を 1 行ずつ取得しています。同時に、スクリプト内で一意のログイン資格情報を使用しようとしています。こうすることで、手動でログイン資格情報を入力する必要がなくなります。これが私のスクリプトです。直面している問題は、systeminfo.exe の実行時にログイン資格情報が値として渡されないことです。

for /f "delims=" %%a in (c:\Uptime\Input.txt) do (  
    echo %%a  
    set x=yellow  
    set login=%x%%%a  
    set pwd=%%a%x%  
    echo %login% pwd %pwd%  
    systeminfo /s %%a /u %login% /p %pwd% | find "System Up Time" >> c:\Uptime\A.txt  
    pause  
)  

このバッチ ファイルを実行すると、次の結果が出力されます。

C:\Uptime>(  
echo Server1  
 set x=yellow  
 set login=Server1 <- it should be: yellowServer1  
 set pwd=Server1  <- it should be: Server1yellow  
 echo  pwd <- not showing the values of variables from above, should be: yellowServer1 Server1yellow  
 systeminfo /s Server1 /u  /p    | find "System Up Time"  1>>c:\Uptime\A.txt  
 pause  
)  
Server1  
 pwd  
ERROR: Invalid Syntax. Value expected for '/u'.  
Type "SYSTEMINFO /?" for usage.  
Press any key to continue . . .  

systeminfo コマンド ラインの変数から値が取得されない理由がわかりません。

答え2

これはおそらくあなたにとっては遅すぎるかもしれませんが、私が最近そうであったように、同様のものを探している他の人にとっては役立つはずです...

コマンドラインに正しい情報を指定していません。また、systeminfoコマンドには起動時間のみがあり、起動時間は指定されていません。その場合、空のファイルが作成されます。

systeminfo /s Server1 /u %login%  /p %pwd%   | find "System Boot Time"  >> c:\Uptime\A.txt

cutfrom を使用してunixutils、ファイルをさらにクリーンアップできます。

関連情報