我們解決了 smart_screenshot.ahk 中的 Git 合併衝突,將原本依賴外部 Python 腳本的架構,重構為基於 Windows GDI+ 的原生截圖模組。
Esc 鍵做為中斷熱鍵,當使用者在進行區域截圖時,可隨時按下 Esc 安全退出,並自動清理註冊的熱鍵。Z:\),命名格式為 Snap_YYYYMMDD_HHmmss.png,避免產生硬碟垃圾檔案。我們建立了自動化憑證生成與信任安裝流程,並註冊了 Nushell 快速指令,讓您可以一鍵完成 RDP 檔案簽署。
CurrentUser\My 建立自簽署代碼簽署憑證 (CN=GemOSRdpPublisher) 並靜默信任。config.nu 註冊了 sign-rdp 指令。sign-rdp "C:\Users\mason\OneDrive\桌面\use012.rdp"
為解決雙擊已簽署的 RDP 檔案時仍會彈出「驗證發行者」並需要手動點選「連線」的問題,我們直接在使用者登錄檔原則中設定了憑證指紋信任。
TrustedCertThumbprints 原則。若指紋相符,會直接繞過安全確認對話框。Path: HKCU:\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services
Value Name: TrustedCertThumbprints
Value: 02755C1DB2326C0BDE88A67E44C2021AB3E89843
use012.rdp 後,什麼按鈕都不需要點選,系統會自動記住選擇並直接安全登入遠端電腦。我們將 Wake-on-LAN(WOL)與 RDP 連線進行了深度整合,讓您只需一個指令,即可在喚醒遠端電腦的同時自動開啟遠端桌面視窗。
wol 指令會依序執行以下流程:
r9mac.env 中的 MAC 位址。r9。mstsc.exe 載入 [use012.rdp](file:///C:/Users/mason/OneDrive/桌面/use012.rdp)。wol
Windows Server (如 r9 遠端主機) 預設會停用音訊服務與重新導向原則。若要將遠端音效播放至本機,需於遠端主機進行設定。
# 啟動並設定音訊服務為自動
Set-Service "Audiosrv" -StartupType Automatic; Start-Service "Audiosrv"
Set-Service "AudioEndpointBuilder" -StartupType Automatic; Start-Service "AudioEndpointBuilder"
Set-Service "UmRdpService" -StartupType Automatic; Start-Service "UmRdpService"
# 寫入登錄檔啟用重新導向原則 (0 代表允許重新導向)
$p = "HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services"
if (!(Test-Path $p)) { New-Item $p -Force }
Set-ItemProperty $p "fDisableAudioAndVideoPlayback" 0 -Type DWord -Force
Set-ItemProperty $p "fDisableAudioCapture" 0 -Type DWord -Force
在全螢幕 RDP 連線中切換視窗時,Windows 預設的通訊音量調整機制(Ducking)常會導致音訊突然變小或斷斷續續。我們對此進行了最佳化調整。
reg add "HKCU\Software\Microsoft\Multimedia\Audio" /v "UserDuckingPreference" /t REG_DWORD /d 3 /f
sign_rdp.ps1為方便日後簽署新的 RDP 連線檔案,我們在 C:\Dev\GemOS\apps\ahk-automation\_tools\sign_rdp.ps1 建立了模組化腳本。
腳本特色: 啟動時會自動偵測是否已存在 GemOSRdpPublisher 憑證,若無則自動生成並進行靜默信任設定,接著定位 rdpsign.exe 並完成數位簽署。
在 Nushell 中執行簽署指令:
# 執行簽署工具並帶入 RDP 檔案路徑
sign-rdp "C:\Users\mason\OneDrive\桌面\use012.rdp"
驗證簽署狀態:
# 查看 RDP 檔案末尾是否已寫入簽署欄位與憑證簽章
open --raw "C:\Users\mason\OneDrive\桌面\use012.rdp" | decode utf-16le | lines | last 10