PowerShell命令打印值而不是执行

时间:2014-08-13 07:34:24

标签: powershell sharepoint-2010

我已经编写了一个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;
         }
     } 
    }

1 个答案:

答案 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
      }
}