我写一个批处理文件( 我问SU上一个问题 )来遍历终端服务器搜索特定用户。 所以,我得到了我想要做的基本起点。
- 输入用户名
- 迭代终端服务器
- 在那里发现用户显示服务器(它们可以在多个服务器上,现在又发现依赖于如何建立连接的丢失)
- 显示选项菜单
遍历终端服务器,我有:
for /f "tokens=1" %%Q in ('query termserver') do (set __TermServers.%%Q)
现在,我得到的错误...
Environment variable __TermServers.SERVER1 not defined
...用于每个终端的服务器。 这确实是我的批处理文件,在这一点上的唯一的事情。 为什么这个错误发生的任何想法? 显然,变量没有定义,但我明白SET命令来做到这一点。
我还认为,为了继续工作的迭代(每一台终端服务器),我需要做的是这样的:
:Search
for /f "tokens=1" %%Q in ('query termserver') do (call Process)
goto Break
:Process
for /f "tokens=1" %%U in ('query user %%username%% /server:%%Q') do (set __UserConnection = %%C)
goto Search
然而,有两件事情是错误我这件事:
- 调用过程时是%% Q值还活着吗?
- 当我转到搜索,将在for循环是从头开始?
我与我在我手上的工具这样做,所以就像我想听到PowerShell和其他方法可以做到这一点,那将是徒劳的。 我有记事本,仅此而已。
注:我会继续这条线的上的超级用户的问题,但它似乎越来越进入编程细节。