
我有幾個使用遠端桌面應用程式(伺服器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)