Я пытаюсь создать резервную копию IIS6 с помощью PowerShell, я нашел метод, который мне нужен, в WMI IISComputer.BackupWithPassword
однако, когда я пытаюсь выполнить его с помощью следующей оболочки PowerShell:
$IISComputer = Get-WmiObject -Namespace "root/MicrosoftIISv2" -Class "IISComputer"
$IISComputer.BackupWithPassword("D:\Backup\Wednesday\", 1, 6, "QUESTTSTS")
Мне представлены:
Exception calling "BackupWithPassword" : "Win32: The parameter is incorrect. At line:1 char:32
Попробовав различные комбинации скобок, кавычек, флагов и т. Д., Я действительно не смог понять, почему это не работает.
Любые мысли о том, как заставить это работать, я знаю iisback.vbs и другие механизмы для этого. Это как практическое решение проблемы, так и упражнение.
В конце концов я понял это, следующий код работает:
$HIGHEST_VERSION = 9999
$BACKUP_OVERWRITE = 1
$BACKUP_FORCE = 4
$BACKUP_SAVE_FIRST = 2
$Flags = $BACKUP_OVERWRITE -bor $BACKUP_FORCE
$Password = "WhiskyW4i5kyWh1sky"
$IISComputer = Get-WmiObject -Namespace "root/MicrosoftIISv2" -Class "IISComputer"
$result = $IISComputer.BackupWithPassword("ScriptedBackup", $HIGHEST_VERSION, $BACKUP_OVERWRITE, $Password)
Я попытался эмулировать имена переменных из Статья TechNet IisComputer.BackupWithPassword для сравнения. Резервная копия создается в %SYSTEMROOT%\system32\inetsrv\MetaBack
названный ScriptedBackup.MD9999
и ScriptedBackup.SC9999
эти два файла можно скопировать в другое место или создать резервную копию с помощью программы резервного копирования.
У меня сейчас нет IIS6 под рукой. Проверь это: http://www.vbsedit.com/scripts/iis/iis6/admin/scr_504.asp
Не похоже, что вы можете «замаскировать» значения, как вы это сделали с 4 + 2 = 6.