Windows
通過遠端桌面登錄 Windows Vista 時阻止某些啟動程序執行
當我通過 Remote Dekstop 登錄到我的 Windows Vista 桌面時,是否可以阻止某些啟動程序執行。
我希望有一個類似於“Capster”的解決方案,當它添加到啟動快捷方式時,如果 CapsLock 開啟,它只會在它的參數中執行執行檔。雖然我想真正檢測我是否通過遠端桌面登錄而不是尋找關鍵狀態。
我想在啟動時禁用的應用程序是我的 IM 客戶端,在本例中是 Digsby、Windows Sidebar、Samurize 和 UltraMon,用於與多個監視器一起工作。
當然。製作一個包含啟動“僅控制台”程序的命令的批處理文件。在該文件的頂部,檢查名為 SESSIONNAME 的變數。如果它等於“控制台”,則執行這些程序。如果沒有,不要。
像這樣:
@echo off IF %SESSIONNAME% == Console ( echo In console, executing programs. REM List paths to programs here prefaced by "start " so they run async. GOTO :END ) ELSE ( REM Not in console, not executing programs. ) :END
替代解決方案(僅當您熟悉命令提示符 CLI 時) Adv:更少的 FS 塊使用 esp。在嵌入式/緊湊空間上。
如果您的作業系統僅支持硬連結文件(XP/NT5 或更早版本),那麼它的限制也應適用(exe 及其連結可能不在不同的捲/驅動器等上)
- 打開 priv/elevated/as admin 命令提示符。
- 創建指向原始 filename.exe 的 sym/硬連結(使用 fsutil 或 3rd 方 ln 工具):scpath\Console_filename.exe
- 如果您從 RDP 會話執行此操作,則需要通過在同一文件夾 (scpath) 中創建名為 %SessionName%_filename.exe 的 tmp/dummy/blank/link 來解決資源管理器 LNK/prop 編輯器。注意:如果未定義,cmd 將使用 %SessionName% 作為文字字元串。
- 從同一終端執行 explorer.exe,編輯快捷方式/PIF/LNK 並將目標從“progpath\filename.exe”更改為“scpath%SessionName%_filename.exe”。scpath 可以與 filename.exe 路徑不同/相同。
- 刪除 %SessionName%_filename.exe(如果您執行了第 3 步)並退出終端。
符號連結更加靈活,因為快捷方式可以指向相對路徑,並且不需要與 progpath 位於同一卷/驅動器中。
順便提一句。在 C: 下掛載分區/卷沒有驅動器號不會克服硬連結(必須在同一個 NTFS 中)的限制。