リモートで動作している Windows 10 および Windows 7 マシンが複数あります。場合によっては、特定のファイルまたは実行可能ファイルを更新する必要があります。これには次の作業が含まれます。
- 実行中のプログラムを終了します。
- 現在の実行ファイルを削除する
- 新しい実行ファイルをコピーする
- 必要に応じてファイルを置き換え(削除してコピー)ます
- プログラムを再起動する
これを個々のシステム (個別更新) またはすべてのシステム (一括更新) にわたって制御できるアプリケーションがあるかどうか疑問に思っています。
答え1
まず、特定のソフトウェアの推奨は、スーパーユーザー。 試すhttps://softwarerecs.stackexchange.com/、 その代わり。
ただし、新しいファイルを含む中央リポジトリがある場合は、これを実行するための簡単なバッチ スクリプトを作成できます。
- 使用タスクキル実行中のアプリケーションを停止します。
- コピー*以上を使用してください。ロボコピー、古いファイルを新しいファイルで上書きします(ロボコピー上書きを防ぐために日付を指定しましょう新しい完全なUNCパスを指定することで、古いファイルも含めたファイルも削除できます。FTPまたはFTPサーバーファイルを転送します。新しいファイルを古いファイルにコピーすると、古いファイルは実質的に削除されます。
- 使用始めるアプリケーションを再起動するコマンド。
もちろん、複雑な問題もあります。
- 各アプリケーションは誰の資格情報で実行されていますか? スクリプトは、アプリケーションを再起動するときに同じ資格情報で実行する必要があります。常に System を使用すると、ローカル ユーザーがアプリケーションを操作するのが難しくなります。その他のすべての目的では、スクリプトは System として実行できます。
- アプリケーションを置き換える必要がある場合いつも再起動が必要ですか? 最初に実行されているかどうかを確認したい場合は、タスクキル、それを使用して再起動するかどうかを決定します。
- SFTP を使用するには、サーバーおよびクライアントに他のアプリケーションをインストールする必要があります。
- だろうとてもスクリプトの動作のログを記録するのに役立ちます。
答え2
Windows には WMI (Windows Management Instrumentation) と WinRM (Windows Remote Management) が組み込まれており、どちらも同じ機能を持ちますが、ネットワーク プラミングが異なります。また、Windows では、単一のコンピューターでファイルをコピーするのと同じ方法で、別のコンピューターにファイルをコピーできます。
このバッチ ファイルにより、ネットワーク上でオンになっているコンピューターのテキスト ファイルが提供されます。
for /f "skip=3 delims=\" %%A in ('net view ^| findstr /v /C:"The command completed successfully"') do Echo %%A >> c:\computerlist.txt
ネットワーク上のプロセスのすべてのインスタンスを強制終了する
wmic /node:@c:\computerlist.txt process where "name='notepad.exe'" call terminate
ファイルをコピーします。C$ は管理者だけが使用できる隠し管理共有です。
copy c:\somefolder\file.exe \\127.0.0.1\C$\Somefolder\file.exe
for /?
上記のループのやり方については、コンピュータリスト.txt. 次の行をバッチ ファイルに入力します。実際に何かを実行するには、echo 部分を削除します。
for /f "usebackq delims=" %%A in ("C:\Folder\computerlist.txt.txt") do echo copy "c:\folder\file.exe" "\\%%A\C$\folder\file.exe
削除してコピーしても意味がありません。
リモート コンピューターで非表示のプロセスを開始します (ローカル コンピューターで開始した場合は表示されます)。ここでは、コンピューターのテキスト ファイルではなく、単一のコンピューターを指定しています。
wmic /node:127.0.0.1 process call create "c:\\windows\\notepad.exe"
ヘルプを表示するには、、、for /?
とwmic /?
入力してください。また、およびも入力してください。wmic process get /?
wmic process call /?
wmic /format /?
wmic /node /?