2016-11-18 81 views
0

我期待修改下面脚本做两件事情上的if语句:在运行多个命令的if语句

if ($PsCmdlet.ParameterSetName -ieq "DumpCreds") 
{ 
    $ExeArgs = "privilege::debug" 

} 
elseif ($PsCmdlet.ParameterSetName -ieq "DumpCerts") 
{ 
    $ExeArgs = "crypto::cng crypto::capi `"crypto::certificates /export`" `"crypto::certificates /export /systemstore:CERT_SYSTEM_STORE_LOCAL_MACHINE`" exit" 
} 
else 
{ 
    $ExeArgs = $Command 
}` 

它读取的行 - $exeargs = "privilege::debug",我需要运行和我还需要运行 - $ExeArgs = "sekurlsa::logonpasswords"首先需要运行的权限,然后是登录口令。

如何在脚本中的if语句中运行2个命令?

+0

你想在一个if块两次分配一个值'$ ExeArgs'?这将实现什么? –

+0

是的,以及priv参数是需要在我可以运行登录密码之前设置的一个要求。有没有办法做到这一点? –

+0

'$ ExeArgs ='“privilege :: debug”“sekurlsa :: logonpasswords”''? – JosefZ

回答

1

一个if声明没有关于你多少命令执行的限制,所以只执行它...

if ($PsCmdlet.ParameterSetName -ieq "DumpCreds") 
{ 
    $ExeArgs = "privilege::debug" 
    $ExeArgs = "sekurlsa::logonpasswords"  
} 
elseif ($PsCmdlet.ParameterSetName -ieq "DumpCerts") 
{ 
    $ExeArgs = "crypto::cng crypto::capi `"crypto::certificates /export`" `"crypto::certificates /export /systemstore:CERT_SYSTEM_STORE_LOCAL_MACHINE`" exit" 
} 
else 
{ 
    $ExeArgs = $Command 
}