Powershell

我可以通過 mstsc 進行 RDP 並在該遠端桌面上執行腳本嗎?

  • July 17, 2018

我正在編寫一個 powershell 腳本,該腳本需要 RDP 到幾台伺服器並在那裡進行處理然後返回。

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 錯誤,我確信這將是一個兔子洞。

那麼是否可以使用 RDPmstsc然後將命令通過管道傳輸給它,以便在該電腦上執行它們?

不,MSTSC 是終端客戶端。如果你想在遠端機器上執行腳本,你真的應該讓 enter-pssession 工作。它會讓你的生活更輕鬆。

它可能就像您只需要通過在每台機器上執行一個命令來允許 Powershell Remoting 一樣簡單:

Enable-PSRemoting –force

您可以創建一個計劃任務,該任務將通過使用域內的特殊帳戶登錄到伺服器來觸發,並且通過觸發系統將執行一個準備好的腳本,該腳本將獨立地位於每個伺服器上。

步驟:您可以創建一個計劃任務,該任務將在您的電腦解鎖時執行:

開始 > 管理工具 > 任務計劃程序 在左上角選擇任務計劃程序庫點擊創建任務對話框右上角的創建任務: 正常選項卡-為您的任務提供名稱觸發器選項卡-點擊新建…並選擇在工作站解鎖操作選項卡上——點擊新建…並點擊瀏覽…以找到您的腳本條件選項卡——取消選中僅在電腦使用交流電源時啟動任務

引用自:https://serverfault.com/questions/920545