Remote Desktop Services依據用戶分配程序

上篇講完了Terminal Services 2008中依據用戶角色來分配應用程序,很辛苦,要找插件,要改代碼,一二三四步,一路走下來,總算是心願達成,達成心願了。微軟似乎也意識到了依據用戶角色來分配程序這個需求的迫切性,在Windows Server 2008 R2中加入了這樣的一個功能,打開RemoteApp管理器,找到發佈的應用程序,選擇屬性,選擇用戶分配,給個截圖看個明白
 
要使用這個功能,有一個前提條件,RD會話主機服務器必須加入到域中。或許你就有了開個工作組環境的RDS的衝動,年輕人,想試試就動手吧,結果我們給個圖看一下
 
提示很明確,不在域中,這個功能就沒得完了,這裏就留給了我們一個新的問題,工作組中有什麼辦法做到依據用戶來分配程序?
我們很自然的先想到RemoteApp Filter這個插件,但它只適用於Windows Server 2008的Terminal Services,到了RDS當中,一句話,愛莫能助。
其實,softice既然寫這篇文檔,提這個問題,不是想自己搬個石頭砸斷自己的腳,弄個自己搞不定的問題把自己掐死,這裏我們還是有方法玩的,要玩的話,得改註冊表項,依照老規矩,一二三四步走一走:
1、打開註冊表項,
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList\Applications
一看這項,我們就明白了,我們在RemoteApp管理器中發佈的程序都在這裏列隊排着呢,站得還挺整齊,給個截圖,看個明白
我們隨便打開其中的一個程序,就可以發現右邊有一個SecurityDescriptor的項,他就是我們今天的主角了,要實現工作組環境中,針對用戶分配程序,就得改它的值。
 
2、我們在域環境當中,成功分配用戶後,SecurityDescriptor的值如下
O:WDG:WDD:ARP(A;CIOI;CCLCSWLORCGR;;;S-1-5-21-1976147704-17255726-1205334786-1002)(A;CIOI;CCLCSWLORCGR;;;S-1-5-21-1976147704-17255726-1205334786-1003)
依據上面的這個值,可以看出,實際上用戶或組在這裏是以SID的形式表示的,我們可以依葫蘆畫瓢,把工作組環境當中的用戶或組的SID在這裏替換或是增加就OK了;
 
3、要獲取用戶的SID,給上一個sysinternals的psgetsid工具,給個鏈接,直接下了
要獲取用戶的SID,可以運行psgetsid 用戶名,給個截圖,看個明白
 
這樣的話,將獲得的SID,按照步驟2當中的格式修改SecurityDescriptor的鍵值就OK了。
通過這種方法,我們就可以在工作組環境當中,實現依據用戶來分配程序了。
 
 

本文出自 “俾多心機 做好自己” 博客,請務必保留此出處 http://softicelee.blog.51cto.com/932950/301167

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章