我正在尝试创建一个脚本,我可以通过PSEXEC远程将用户添加到远程桌面用户组。我可以运行以下命令,它会成功,但我需要它以脚本形式,所以我可以通过Excel导出添加多台计算机和用户:
psexec \ remotecomputername cmd
netsh防火墙设置服务remoteadmin enable
netsh防火墙设置服务remotedesktop enable
net localgroup“远程桌面用户”/添加域名\名称
reg添加“HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Terminal Server”/ v fDenyTSConnections / t REG_DWORD / d 0 / f
这就是我作为一个脚本提出的,但每次运行它时,它只是在连接后就位于PSEXEC屏幕上,并且不运行其他命令。
psexec \\ computername -e cmd / c(netsh防火墙设置服务remoteadmin enable ^& netsh firewall set service remotedesktop enable ^& net localgroup“Remote Desktop Users”/ add Domain \ username ^& reg add“HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Terminal Server“/ v fDenyTSConnections / t REG_DWORD / d 0 / f)
我也试过;和&&代替^&但是在遥控器进入后似乎失败了。这只是我坚持的一点。接下来我想让它告诉我它是成功还是失败。所以,如果可以在最后添加,那么我将在下一步。
答案 0 :(得分: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