繁体   English   中英

Powershell中的Wbadmin

[英]Wbadmin in powershell

您能否建议如何使此脚本起作用?

通过以下命令,它可以在cmd中正常工作:

wbadmin start systemstatebackup 'backuptarget:"F:"' '-quiet'

它通过以下命令在运行Powershell的cmd中工作:

[powershell] wbadmin start systemstatebackup 'backuptarget:"F:"' '-quiet'

但是它在Powershell脚本(backups.ps1)中不起作用。 我对单引号和双引号的使用感到困惑。 以下迭代无效

backup.ps1

$IFMResult2 = "WBADMIN START SYSTEMSTATEBACKUP -backupTarget:E: -quiet" 
$IFMOutput2 = Invoke-Expression $IFMResult2 | out-string -stream

$IFMResult2 = "WBADMIN START SYSTEMSTATEBACKUP 'backuptarget:"F:"' '-quiet'"
$IFMOutput2 = Invoke-Expression $IFMResult2 | out-string -stream

错误为WBADDMIN错误(Systemstatebackup):缺少选项backuptarget的值

这对我有用,但不问原因。
$ strBackupDrive =“ D:”
$ strBackupComand ='开始备份'+ [char []] 45 +'include:C:\\ Temp \\'+ [char []] 45 +'backupTarget:'+ $ strBackupDrive +'-quiet'
$ errRun =启动进程wbadmin -ArgumentList $ strBackupComand -wait -NoNewWindow -PassThru

我认为您根本不需要引号。 尝试:

$Result = & WBADMIN START SYSTEMSTATEBACKUP backuptarget:F: -quiet

您还可以将参数指定为数组:

$Result = & 'WBADMIN' @('START', 'SYSTEMSTATEBACKUP', 'backuptarget:F:', '-quiet')

请注意, wbadmin完成后,最好检查$LastExitCode ,以确认没有错误。 例:

$Result = & WBADMIN SYSTEMSTATEBACKUP -backupTarget:F: -quiet

if($LastExitCode)
{
    # Exit code is not null, something gone wrong
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM