Может ли кто-нибудь помочь мне с удаленным резервным копированием IIS на нескольких серверах из сценария PowerShell. Я могу сделать резервную копию IIS с помощью команды PowerShell.
backup-webconfiguration -name IIS_backup.
Также у меня есть пакетный сценарий, который выполняет резервное копирование, но работает только для одного сервера. Мне нужно войти в систему локально и запустить это как пакетное задание.
@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.
В настоящее время я работал над этими двумя сценариями. Если возможно, помогите мне с удаленным резервным копированием IIS на нескольких серверах через PowerShell или командный файл.
При условии, что на ваших веб-серверах включен 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}
Затем вы можете заполнить переменную $ Computers различными способами. Например, из текстового файла или из запроса AD.