2016-04-21 122 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