我正在尝试使用 PowerShell 备份 IIS6,我在 WMI 中找到了我想要的方法IISComputer.BackupWithPassword
,但是当我尝试使用以下 PowerShell 执行它时:
$IISComputer = Get-WmiObject -Namespace "root/MicrosoftIISv2" -Class "IISComputer"
$IISComputer.BackupWithPassword("D:\Backup\Wednesday\", 1, 6, "QUESTTSTS")
我被呈现的是:
调用“BackupWithPassword”时发生异常:“Win32:参数不正确。 位于行:1 字符:32
我尝试了括号、引号、标志等各种组合,但我并没有进一步弄清楚为什么它不起作用。
有没有关于如何实现这一点的想法,我知道 iisback.vbs 和其他机制可以做到这一点。这既是一种练习,也是一种切实可行的问题解决方案。
答案1
我最终明白了这一点,以下代码有效:
$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
这两个文件可以复制到另一个位置或由您的备份软件备份。
答案2
我手边没有 IIS6。检查一下: http://www.vbsedit.com/scripts/iis/iis6/admin/scr_504.asp
看起来你不能像对 4+2=6 那样“掩盖”这些值。