问题标签 [terminal-services]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 检测远程桌面连接的来源
这个问题告诉我如何检测远程桌面会话。
有谁知道是否可以从远程连接的初始化位置找到?
javascript - Javascript Msxml2.XMLHTTP 终端服务器访问被拒绝
var xmlHttpRequest = new ActiveXObject("Msxml2.XMLHTTP"); xmlHttpRequest.open("POST", " http://vat/_vti_bin/lists.asmx ", false);
如何让这个脚本在终端服务器上运行?当我在本地电脑上打开它时,它可以工作,但是当我在终端服务器上的浏览器中做同样的事情时,我得到Access Denied
.
我尝试使用ServerXMLHTTP
,但后来我得到Cannot create automation object
ssl - PCI 合规性:使用 SSL 作为 RDP(终端服务)的传输层
我的客户未能通过她的 PCI 合规审核。服务器支持远程桌面(终端服务),但只提供加密而不提供身份验证。这会将服务器暴露给中间人攻击。
假定的解决方案是强制 SSL 作为 RDP 的传输层。
有人知道怎么做吗?
服务器运行 Windows 2003。
arrays - 在批处理文件中迭代数组
我正在编写一个批处理文件(我在 SU 上提出了一个问题)来遍历终端服务器以搜索特定用户。所以,我得到了我想做的事情的基本开始。
- 输入用户名
- 迭代终端服务器
- 显示找到用户的服务器(根据连接丢失的方式,他们可以不时在多个服务器上找到)
- 显示选项菜单
迭代我拥有的终端服务器:
现在,我收到错误...
...对于每个终端服务器。这实际上是我的批处理文件中唯一的东西。关于为什么会发生此错误的任何想法?显然,变量没有定义,但我理解 SET 命令就是这样做的。
我还认为,为了继续进行迭代(每个终端服务器),我需要执行以下操作:
但是,有两件事让我感到困扰:
- 调用 Process 时 %%Q 值是否仍然存在?
- 当我转到搜索时,for循环会重新开始吗?
我正在使用我可以使用的工具来做这件事,所以尽管我很想听听 PowerShell 和其他方法来做这件事,但这将是徒劳的。我有记事本,就是这样。
注意:我会在 SuperUser 上继续这一系列问题,只是它似乎更多地涉及编程细节。
for-loop - 批处理文件中的流控制
在批处理文件中引用迭代数组
我有以下内容:
query termserver
从命令行运行时,前两行是:
...后面是终端服务器列表。但是,我不想将这些作为query user
命令的一部分。此外,我不想包括大约 4 台服务器。当我提供UserID
此代码时,程序会立即退出。我知道这与if
声明有关。这不可能在for循环中嵌套流控制吗?
我曾尝试将变量设置为我想要检查的服务器的名称,但迭代将在第一台服务器上结束:
如果没有别的清洁,我更喜欢第二个例子而不是第一个例子。
任何有关这些问题的帮助将不胜感激。
c++ - WTSQuerySessionInformation 返回空字符串
我编写了一个程序,它应该查询终端服务 API 并打印出一些关于在终端服务框中运行的会话的状态信息。我正在使用 WTSQuerySessionInformation 函数来执行此操作,它正在返回一些数据,但大部分数据似乎都丢失了......有谁知道为什么?
这是我的程序:
这是输出:
如您所见,一些数据看起来是有效的,但不是全部......
remote-desktop - 如何 rdc 到属于 TS Farm 成员的特定机器?
我创建了一个终端服务场,其中包含 3 个运行 Windows 2008 R2 Enterprise 的 TS 主机(例如 TS1、TS2 和 TS3)、一个 TS 连接代理和一个 TS 网关,目的是将 Windows 应用程序作为 TS RemoteApp 托管。设置工作得很好。现在,我想在特定的 TS 主机上做一些进一步的配置更改,比如 TS2,而不是在任何其他 TS 主机上。我尝试 rdc 到 TS2,但我发现自己连接到一个随机选择的 TS 主机(有时是 TS1,有时是 TS2,有时是 TS3)。我认为 rdc 连接也通过连接代理将我转发到它认为最好的 TS 主机。有没有办法可以使用 rdc 确定性地连接到特定的 TS 主机?我没有在 TS 主机上本地登录的选项,因为整个设置都托管在远程数据中心中。我认为这是一个非常常见的场景,必须有一个直接的解决方案。它可以像对连接代理服务器执行 rdc 并禁用它一段时间一样简单,但我也不知道该怎么做。任何帮助将不胜感激。
.net - 为 Citrix/终端服务器编程 .NET 应用程序:合规性和陷阱
我们在这里有点迷失了。我们需要使我们的应用程序可安装在具有 80 多台 Citrix 服务器的网络上。尽管我们的应用程序是 100% 有效且可运行的 .NET,但我们经历了一些(对我们来说很奇怪的)行为:
- 您不能使用任何“文档和设置”文件夹来存储数据或设置。显然,这些文件夹是虚拟化的,并且位于多个位置。
- 检查文件是否存在(即,在您自己的“程序文件”文件夹中)不起作用。大概也是出于同样的原因。
- 为什么文件系统会这样?
- 您需要如何存储数据才能使应用程序在 Citrix 上运行?
- 您是否需要了解其他任何陷阱或事情?
winapi - 终端服务的正确检测
我一直在尝试检测终端服务是否正在运行。我尝试使用MSDN 方式:
它运作良好,但在:
如果没有终端服务角色,则调用VerifyVersionInfo
返回一个非零值,这意味着“当前运行的操作系统满足指定的要求”或函数失败。
GetLastError
返回:
在 Windows XP SP3 上,调用VerifyVersionInfo
返回一个零值,所以我想没有输入错误。
我该如何处理这种行为?将其视为没有终端服务是否很好?有没有更好的技术?
它是操作系统中的错误吗?
更新:
在 Windows Server 2008 R1 上,行为类似(失败)。也可能在许多其他系统上。
.net - 终端服务器会话中的隔离命名管道
如果我的应用程序启动,我首先检查是否已经存在应用程序的实例,如果是,我将焦点放在正在运行的实例上并终止新创建的进程。我使用通过 WCF 注册的命名管道来实现这一点。到目前为止效果很好。
现在我的应用程序也将在终端服务器环境中使用。命名管道是系统范围的是否正确,因此我必须更改启动逻辑以不将重点放在其他用户的实例上(当然不会工作但会破坏我的应用程序)或者终端服务器(2003R2)是否隔离 WCF-Bindings每个 TS 会话?
我还无法访问生产环境,这就是我发布这个问题的原因。也许有人可以给我这个问题的答案?
更新
通过我写的关于应用程序启动的另一篇文章,我了解到有一种更方便的方法可以使用 Mutex 来管理单个应用程序启动,它可以在系统范围内或在终端会话基础上使用。
然而,这个问题无论如何都是开放的,也许具有良好 WCF 知识的人可以回答它。这会很有趣。