有人可以帮助我远程从PowerShell脚本备份多台服务器上的IIS。 我可以从powershell命令备份IIS。
backup-webconfiguration -name IIS_backup。
另外我有一个批处理脚本需要备份,但只适用于一台服务器。 我必须在本地login并将其作为批处理作业运行。
@echo off cls pushd "%WinDir%\System32\inetsrv" echo.| date | find /i "current">datetime1.tmp echo.| time | find /i "current">datetime2.tmp for /f "tokens=1,2,3,4,5,6" %%i in (datetime1.tmp) do ( echo %%n>datetime1.tmp ) for /f "tokens=1,2,3,4,5,6" %%i in (datetime2.tmp) do ( echo %%m>datetime2.tmp ) for /f "delims=/ tokens=1,2,3" %%i in (datetime1.tmp) do ( set TMPDATETIME=%%k%%i%%j ) for /f "delims=:. tokens=1,2,3,4" %%i in (datetime2.tmp) do ( set TMPDATETIME=D%TMPDATETIME%T%%i%%j%%k%%l ) appcmd add backups %TMPDATETIME% del datetime1.tmp del datetime2.tmp set TMPDATETIME= popd echo.
目前我已经在这两个脚本上工作。 如果可能的话,请帮助我通过PowerShell或batch file在多台服务器上远程备份IIS。
如果在Web服务器上启用PSRemoting,则只需运行以下命令即可在多台计算机上运行备份:
invoke-command -ComputerName "webserver1","webserver2","webserver3" -Scriptblock {Import-Module WebAdministration; backup-webconfiguration -name IIS_backup}
您也可以按如下方式将您的服务器列表从命令中分离出来:
$Computers = "webserver1","webserver2","webserver3" invoke-command -ComputerName $Computers -Scriptblock {Import-Module WebAdministration; backup-webconfiguration -name IIS_backup}
然后您可以用各种方式填充$ Computersvariables。 例如,从一个文本文件或从和AD查询。