web-dev-qa-db-ja.com

mstscを使用してRDPを実行し、そのリモートデスクトップでスクリプトを実行できますか?

私はいくつかのサーバーに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を実行し、それにコマンドをパイプして、そのコンピューターで実行されるようにすることはできますか?

4
Ryan

いいえ。MSTSCはターミナルクライアントです。リモートマシンでスクリプトを実行する場合は、enter-pssessionを実際に機能させる必要があります。それはあなたの人生をはるかに容易にします。

各マシンで単一のコマンドを実行して、Powershell Remotingを許可する必要があるだけの簡単な場合もあります。

Enable-PSRemoting –force
4
Dre

ドメイン内の特別なアカウントを使用してサーバーにログインすることによってトリガーされるスケジュールされたタスクを作成できます。トリガーによって、システムは各サーバーに個別に配置される準備されたスクリプトを実行します。

手順:コンピューターのロックが解除されたときに実行されるスケジュールされたタスクを作成できます。

[スタート]> [管理ツール]> [タスクスケジューラ]左上隅で[タスクスケジューラライブラリ]を選択します。[タスクの作成]ダイアログの右上隅にある[タスクの作成]をクリックします。[全般]タブ-タスクの名前を入力します。ワークステーションのロック解除の[アクション]タブで、[新規...]をクリックし、[参照...]をクリックして、スクリプトの[条件]タブを見つけます。

3
Net Runner