2016-04-21 254 views
0

我想创建一个脚本,我可以通过PSEXEC远程添加用户到远程桌面用户组。我可以运行下面的命令,它会成功,但我需要它在脚本形式,所以我可以通过Excel导出添加多个计算机和用户:脚本通过PSEXEC将桌面用户添加到远程桌面用户组

PSEXEC \ remotecomputername CMD

netsh防火墙设置服务REMOTEADMIN使

netsh防火墙设置服务remotedesktop使

净本地“远程桌面用户” /添加域\名称

REG ADD“HKEY_LOCAL_MACHINE \系统\ CurrentControlSet \有限公司ntrol \终端服务器”/V fDenyTSConnections /吨REG_DWORD/d 0/F

这是我想出了一个剧本,但我每次运行它的时候,它只是坐在在PSEXEC屏幕它连接后马上不运行其他命令。

PSEXEC \\计算机-e CMD/C(netsh防火墙设置服务REMOTEADMIN使^ & netsh防火墙设置服务remotedesktop使^ &净本地“远程桌面用户” /添加域\用户名^ & REG ADD“HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Terminal Server“/ v fDenyTSConnections/t REG_DWORD/d 0/f)

我也试过了;和& &代替^ &,但它似乎失败后,远程英寸,这只是我坚持的一点。接下来,我想告诉我它是成功还是失败。所以如果可以在最后添加它,那么我将在下一步去。

回答

1

我在受限制的环境中使用的一种方法是一系列bat脚本。用目标计算机列表创建3个bat脚本和computer.txt文件。这有丑陋的日志,但它的作品。

第一个脚本循环遍历计算机列表,在目标列表中的每台计算机上运行第二个脚本。

REM Zip Script 1 
@ECHO ON 
CD /d D:\ScheduledTasks\Zip 
FOR /f %%1 IN (servers.txt) DO CALL PushZip.bat %%1 

第二届脚本创建的文件结构和复制你的PSEXEC和第三脚本到每个目标计算机。

REM PushZip.bat Script 2 
ECHO %2 >> DeployZip.log 
ECHO %1 >> DeployZip.log 
cd /d c:\ScheduledTasks\Zip 
CMD /C MD "\\%1\D$\ScheduledTasks\Zip" 
xcopy /Y c:\ScheduledTasks\Zip\PsExec.exe \\%1\c$\ScheduledTasks\Zip 
xcopy /Y c:\ScheduledTasks\Zip\Zip.xml \\%1\c$\ScheduledTasks\Zip 
xcopy /Y c:\ScheduledTasks\Zip\CreateZip_ScheduledTask.bat \\%1\c$\ScheduledTasks\Zip 
timeout /t 1 
PSEXEC -accepteula @servers.txt \\%1\c$\ScheduledTasks\Zip\CreateZip_ScheduledTask.bat >> DeployZip.log 

第三个脚本为每个目标计算机运行PSEXEC和脚本。

REM CreateZip_ScheduledTask.bat 3rd Script 
cd /d C:\ScheduledTasks\Zip 
ECHO "CREATING TASK" 
SCHTASKS /CREATE /TN CompanyTasks\Zip /XML "C:\ScheduledTasks\Zip\Zip.xml" >> CreateZip_ScheduledTask.log 
ECHO "Does new Zip task exist?" 
SCHTASKS /QUERY /TN CompanyTasks\Zip >> CreateZip_ScheduledTask.log 
+0

哦哇,这很激烈。我希望这会很简单。好的,我对cmd非常熟悉,但是当谈到脚本时,我感到很茫然。让我看看是否可以添加我的netsh命令,并让它将用户添加到组中。感谢您的意见。 – cnorris