私はいくつかのサーバーにRDPし、そこでプロセスを実行してから戻ってくる必要があるpowershellスクリプトを書いています。
mstsc /v:<computer>
それ自体はセキュリティ/資格情報であるため、それ自体が見栄えが良いですプロンプトは、手動で実行した場合と同じです。
しかし、いくつかの調査の後、それはコマンドラインユーティリティであり、以下のようなことを試みるので、それ以上のものではないように思われます:
mstsc /v:104.209.198.181 | Invoke-Command -ScriptBlock {"New-Item C:\Users\<me>\Desktop\Success.txt -ItemType file"}
動作しません。
だから私はEnter-PSSession <computer> -Credential $env:UserName
人々はこれを使用していますが、mstsc
と比較すると扱いにくいように見えます。これは原始的に見えるためです(昨日読んだ記事では、このタイプのプロンプトは常にフィッシング詐欺であり、明らかにそうではありません管理者に伝える)、それはドメインを自動入力しません。WinRMエラーが表示されますが、これはうさぎの穴になると確信しています。
では、mstsc
を使用してRDPを実行し、それにコマンドをパイプして、そのコンピューターで実行されるようにすることはできますか?
いいえ。MSTSCはターミナルクライアントです。リモートマシンでスクリプトを実行する場合は、enter-pssessionを実際に機能させる必要があります。それはあなたの人生をはるかに容易にします。
各マシンで単一のコマンドを実行して、Powershell Remotingを許可する必要があるだけの簡単な場合もあります。
Enable-PSRemoting –force
ドメイン内の特別なアカウントを使用してサーバーにログインすることによってトリガーされるスケジュールされたタスクを作成できます。トリガーによって、システムは各サーバーに個別に配置される準備されたスクリプトを実行します。
手順:コンピューターのロックが解除されたときに実行されるスケジュールされたタスクを作成できます。
[スタート]> [管理ツール]> [タスクスケジューラ]左上隅で[タスクスケジューラライブラリ]を選択します。[タスクの作成]ダイアログの右上隅にある[タスクの作成]をクリックします。[全般]タブ-タスクの名前を入力します。ワークステーションのロック解除の[アクション]タブで、[新規...]をクリックし、[参照...]をクリックして、スクリプトの[条件]タブを見つけます。