私がやろうとしていることはかなり単純に思えますが、私はそれを理解することができません。Powershellスクリプトを実行してRDPセッションを起動し、ファイルをc:\ディレクトリにコピーして、コマンドラインからそのファイルを実行しようとしています。サーバーIP、ユーザー名、パスワードなどのcsvファイルからパラメーターを取得してループさせたいです。したがって、基本的に、手順は次のようになります...
1.import infor from the csv file to define variables
2.copy specefied file (then loop)
3.launch mstsc.exe
4.enter server IP, username, password
5.paste copied file into the c:\ directory
6.launch cmd.exe
7.Run the file that was copied to the c:\ directory
8.log off server
私は誰かがこれを手伝ってくれるかどうかを見たかったのです。私はPowerShellに不慣れで、多くのことをやり遂げることができました。誰かが私を正しい方向に向けることができれば、あるいは空白を埋めるためのコードを私に提供することができれば、私はそれを大いに感謝します。
私がやろうとしていることについてもっと具体的にすることは、マシンにエージェントをインストールすることです。このプロセスでは、rdpを介してサーバーにログオンし、コマンドラインからサイレントインストール(msi)パッケージを実行します。私がやりたいのは、クライアントにスプレッドシートを提供し、サーバーアドレス、ユーザー名、パスワードなどの詳細をクライアントに入力してもらうことです。Iとcsvを使用して、PowerShellを実行し、そのスクリプトを介して多くのエージェントをインストールします。これは、本質的に自動化されたプロセスの一種です。それがもう少しよく説明されることを願っています。
これが私がこれまでに持っているものです...
ウィンドウズ....
$computers= gc "C:\Users\Desktop\Powershell\DeviceList.txt"
foreach ($computername in $computers)
{
mstsc
Start-Sleep -s 2
[System.Windows.Forms.SendKeys]::SendWait("$computername{ENTER}")
これはmstscセッションを起動するだけなので、パズルの一部です。次に、ファイルをそのデバイスにコピーしてから、cmd.exeと1つのコマンドを実行してログアウトします。
UNIXの場合>>>
$computers= gc "C:\Users\Desktop\Powershell\DeviceList.txt"
foreach ($computername in $computers)
{
c:\putty.exe
Start-Sleep -s 2
[System.Windows.Forms.SendKeys]::SendWait("$computername{ENTER}")
}
ほぼ同じことですが、パテから直接コマンドを実行してこれを機能させることができ、いくつかのコマンドを実行することで別の方法でファイルを取得できるため、ファイルをコピーする必要はありません。
これに関する助けやアイデアはありがたいです、ありがとう。