透過遠端桌面登入 Windows Vista 時阻止某些啟動程式執行

透過遠端桌面登入 Windows Vista 時阻止某些啟動程式執行

當我透過 Remote Dekstop 登入 Windows Vista 桌面時,是否可以阻止某些啟動程式執行。

我希望有一個類似於“Capster”的解決方案,當它添加到啟動快捷方式時,如果 CapsLock 打開,則只會運行其參數中的可執行檔。儘管我想真正檢測我是否透過遠端桌面登入而不是尋找關鍵狀態。

我想在啟動時停用的應用程式是 IM 用戶端,在本例中為 Digsby、Windows Sidebar、Samurize 和 UltraMon,用於處理多個顯示器。

答案1

當然。建立一個批次文件,其中包含啟動「僅限控制台」程式的命令。在該檔案的頂部,檢查名為 SESSIONNAME 的變數。如果它等於“Console”,則運行這些程式。如果沒有,就不要。

像這樣:

@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

答案2

替代解決方案(僅當您熟悉命令提示字元 CLI 時)Adv:減少 FS 區塊使用,尤其是。在嵌入式/狹小的空間。

如果您的作業系統僅支援硬連結檔案(XP/NT5 或更早版本),則其限制也適用(exe 及其連結可能不在不同的磁碟區/磁碟機上等)

  1. 開啟 priv/elevated/as admin 命令提示字元。

  2. 建立到原始 filename.exe 的符號/硬連結(使用 fsutil 或第 3 方 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 中)限制。

相關內容