我已经编写了一个power shell命令来实现一个特定的功能,我是一个新的power shell。 那应该执行动作,我很确定我已经输入了确切的工作命令。 但是当我尝试在每个循环内部执行命令时,它会打印命令而不是执行。 NWAdminCommand是我的命令,它从用户输入中获取值。
$NWAdminCommand = Read-Host "Enter NWAdmin Command to perform request action"
foreach ($SPSite in $spWebApp.Sites)
{
foreach($SPWeb in $SPSite.AllWebs)
{
$NWAdminCommand;
}
}
}
答案 0 :(得分:2)
此行$NWAdminCommand
相当于Write-Host $NWAdminCommand
。为了执行命令,你可以在前面加上&或使用iex。
& $NWAdminCommand
iex $NWAdminCommand
您可以查看此SO question或此Microsoft Technet web page,其中说明了执行命令的所有不同方法。
这是正确的代码(假设$ spWebApp.Sites和$ SPSite.AllWebs不是空集合)
$NWAdminCommand = Read-Host "Enter NWAdmin Command to perform request action"
foreach ($SPSite in $spWebApp.Sites)
{
foreach($SPWeb in $SPSite.AllWebs)
{
& $NWAdminCommand
#iex $NWAdminCommand
}
}