加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

windows-server-2008-r2 – 非域客户端的RemoteApps

发布时间:2020-12-13 23:51:13 所属栏目:Windows 来源:网络整理
导读:我希望将远程桌面服务器场的RemoteApps静默添加到 Windows 7计算机的RemoteApp和桌面连接控制面板中. subscribing to an RSS feed served by the RD Web Access server via rundll32 tsworkspace 的一般过程似乎是要走的路,但有问题的客户端是在一个独立的,
我希望将远程桌面服务器场的RemoteApps静默添加到 Windows 7计算机的RemoteApp和桌面连接控制面板中.

subscribing to an RSS feed served by the RD Web Access server via rundll32 tsworkspace的一般过程似乎是要走的路,但有问题的客户端是在一个独立的,不信任的域而不是RD服务器场.并且https://rdbroker/RDWeb/FeedLogin/WebFeedlogin.aspx URI需要身份验证,因此它根本不起作用.

我已尝试为IIS’站点树中的RDWeb / FeedLogin文件夹启用匿名身份验证(使用IUSR,应用程序池标识甚至特权域用户作为标识),但尝试检索订阅源会在’/ RDWeb /中返回服务器错误FeedLogin’应用程序. IIS记录未处理的NullReference异常:

Event code: 3005 
Event message: An unhandled exception has occurred. 
Event time: 26.05.2014 14:50:08 
Event time (UTC): 26.05.2014 12:50:08 
Event ID: 66cc347cf8884a4fa0567b5e7c378d61 
Event sequence: 4 
Event occurrence: 1 
Event detail code: 0 

Application information: 
    Application domain: /LM/W3SVC/1/ROOT/RDWeb/FeedLogin-6-130455822088289842 
    Trust level: Full 
    Application Virtual Path: /RDWeb/FeedLogin 
    Application Path: C:WindowsWebRDWebFeedLogin 
    Machine name: rdbroker 

Process information: 
    Process ID: 1016 
    Process name: w3wp.exe 
    Account name: IIS APPPOOLRDWebAccess 

Exception information: 
    Exception type: NullReferenceException 
    Exception message: Object reference not set to an instance of an object. 

Request information: 
    Request URL: https://rdbroker:443/RDWeb/FeedLogin/WebFeedlogin.aspx?ReturnUrl=An unhandled exception has occurred.fRDWebAn unhandled exception has occurred.fFeedAn unhandled exception has occurred.fwebfeed.aspx 
    Request path: /RDWeb/FeedLogin/WebFeedlogin.aspx 
    User host address: 192.168.8.70 
    User:  
    Is authenticated: False 
    Authentication Type:  
    Thread account name: IIS APPPOOLRDWebAccess 

Thread information: 
    Thread ID: 6 
    Thread account name: IIS APPPOOLRDWebAccess 
    Is impersonating: False 
    Stack trace:    at ASP.webfeedlogin_aspx.Page_Load(Object sender,EventArgs e)
   at System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp,Object o,Object t,EventArgs e)
   at System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender,EventArgs e)
   at System.Web.UI.Control.OnLoad(EventArgs e)
   at System.Web.UI.Control.LoadRecursive()
   at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint,Boolean includeStagesAfterAsyncPoint)


Custom event details:

想法?

我终于通过使用 AutoITv3脚本自动化tsworkspace对话框来“解决”了这个问题.我已使用用户的RemoteApp用户名填充employeeID属性,并使脚本查询此属性,使用它来预填充RemoteApp Web订阅源的安全对话框以及RD客户端本身的UsernameHint注册表值.因此,在最好的情况下,用户只需要运行可执行文件并将其密码输入到预先填写了用户名的身份验证对话框中.

脚本如下.请注意,WinWait调用正在等待显示特定标题或消息文本的窗口,您将需要根据客户的本地化和Windows版本进行更改.

#include <AD.au3>

Dim $WCXPath = "fserver2RemoteAppFeed$rdcb.wcx"
Dim $FeedAddress = "rdcb.ad.contoso.com"
Dim $WizardWinHandle
Dim $SecurityWinHandle
Dim $CallResult
Dim $aProperties[1][2]
Dim $UserName

$UserName="AD&;YourADLogin>"

; Open Connection to the Active Directory
_AD_Open()

; Write UsernameHint values with the user's RD server authentication name
$aProperties = _AD_GetObjectProperties(@UserName,"employeeID")
;_ArrayDisplay($aProperties,"Active Directory Functions - Example 2 - Properties for user '" & @UserName & "'")
If IsArray($aProperties) Then
   If UBound($aProperties,2)=2 and UBound($aProperties,1)=2 Then
      If $aProperties[1][0]="employeeID" and StringLen($aProperties[1][1])>1 Then
         $UserName = "CIT-AD" & $aProperties[1][1]
         RegWrite("HKEY_CURRENT_USERSoftwareMicrosoftTerminal Server ClientServersrdfarm.ad.contoso.com","UsernameHint","REG_SZ",$UserName)
         RegWrite("HKEY_CURRENT_USERSoftwareMicrosoftTerminal Server ClientServersts13.ad.contoso.com",$UserName)
      EndIf
   EndIf
EndIf

Run ("C:WindowsSystem32xwizard.exe RunWizard /u {7940acf8-60ba-4213-a7c3-f3b400ee266d} /z" & $WCXPath)
$WizardWinHandle = WinWait("Neue Verbindung mit RemoteApp",$FeedAddress)
;MsgBox(0,"Debug","RemoteApp Window appeared with handle " & $WizardWinHandle)
WinActivate($WizardWinHandle)
$CallResult = ControlClick($WizardWinHandle,"","Button1")
;MsgBox(0,"Clicked "Next" with result" & $CallResult)
$SecurityWinHandle = WinWait("Windows-Sicherheit")
;MsgBox(0,"Windows Security Window appeared with handle " & $SecurityWinHandle)
WinActivate($SecurityWinHandle)
$CallResult = ControlSend($SecurityWinHandle,"Edit1",$UserName)
;MsgBox(0,"Sent username data with result" & $CallResult)
$CallResult = ControlClick($SecurityWinHandle,"Clicked to remember credentials with result" & $CallResult)
$CallResult = ControlFocus($SecurityWinHandle,"Edit2")
;MsgBox(0,"Focused password field with result" & $CallResult)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读