如何防止「同一使用者」使用命令提示字元在終端伺服器上開啟相同程式?

如何防止「同一使用者」使用命令提示字元在終端伺服器上開啟相同程式?

我有幾個使用遠端桌面應用程式(伺服器2008)的用戶,當他們打開我創建的.BAT 檔案時,它會打開兩個程式...但是,我需要防止打開同一個程式(在本例中為Outlook)起來多次...

我在 .BAT 檔案中創建了這一行...

tasklist /nh /fi "imagename eq outlook.exe" | find /i "Outlook.exe" > nul ||(start /min Outlook.exe)

它工作正常...除了,我有多個使用者登入這個「終端伺服器」並運行相同的 .BAT 檔案...所以當「使用者 2」登入時,他們不會啟動 Outlook,因為它已經顯示為在「USER 1」下的任務管理器中執行...

我需要能夠區分"imagename" and "username"......好吧,「用戶名」將是%USERPROFILE%

答案1

如何防止「同一使用者」使用命令提示字元在終端伺服器上開啟相同程式?

我有多個用戶登入此“終端伺服器”並運行相同的 .BAT 檔案...所以當“用戶 2”登入時,他們不會啟動 Outlook,因為它已經顯示為在任務中運行“USER 1”下的管理員

嘗試以下邏輯,因為它將使用%Username%環境變數僅取得TASKLIST執行該命令的使用者帳戶設定檔的使用者名稱的目前條目。 。 。

任務列表命令僅為運行它的用戶獲取進程

TASKLIST /NH /FI "USERNAME eq %Username%" /FI "imagename eq outlook.exe"

與範例邏輯一起使用

TASKLIST /NH /FI "USERNAME eq %Username%" /FI "imagename eq outlook.exe" | find /i "Outlook.exe" > nul ||(start /min Outlook.exe)

額外的閱讀和資源

相關內容