Windows

通過遠端桌面登錄 Windows Vista 時阻止某些啟動程序執行

  • December 6, 2018

當我通過 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 及其連結可能不在不同的捲/驅動器等上)

  1. 打開 priv/elevated/as admin 命令提示符。
  2. 創建指向原始 filename.exe 的 sym/硬連結(使用 fsutil 或 3rd 方 ln 工具):scpath\Console_filename.exe
  3. 如果您從 RDP 會話執行此操作,則需要通過在同一文件夾 (scpath) 中創建名為 %SessionName%_filename.exe 的 tmp/dummy/blank/link 來解決資源管理器 LNK/prop 編輯器。注意:如果未定義,cmd 將使用 %SessionName% 作為文字字元串。
  4. 從同一終端執行 explorer.exe,編輯快捷方式/PIF/LNK 並將目標從“progpath\filename.exe”更改為“scpath%SessionName%_filename.exe”。scpath 可以與 filename.exe 路徑不同/相同。
  5. 刪除 %SessionName%_filename.exe(如果您執行了第 3 步)並退出終端。

符號連結更加靈活,因為快捷方式可以指向相對路徑,並且不需要與 progpath 位於同一卷/驅動器中。

順便提一句。在 C: 下掛載分區/卷沒有驅動器號不會克服硬連結(必須在同一個 NTFS 中)的限制。

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