使用 PowerShell 和 WMI 备份 IIS6

使用 PowerShell 和 WMI 备份 IIS6

我正在尝试使用 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.MD9999ScriptedBackup.SC9999这两个文件可以复制到另一个位置或由您的备份软件备份。

答案2

我手边没有 IIS6。检查一下: http://www.vbsedit.com/scripts/iis/iis6/admin/scr_504.asp

看起来你不能像对 4+2=6 那样“掩盖”这些值。

相关内容