【问题标题】:PowerShell command prints the value rather than executingPowerShell 命令打印值而不是执行
【发布时间】:2014-08-13 07:34:23
【问题描述】:

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

【问题讨论】:

  • 你有一个额外的 }(最后一个)你应该删除它...

标签: powershell sharepoint-2010


【解决方案1】:

这一行$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
      }
} 

【讨论】:

    猜你喜欢
    • 2012-04-25
    • 1970-01-01
    • 2021-12-25
    • 1970-01-01
    • 2021-10-07
    • 2015-05-23
    • 2012-02-28
    • 1970-01-01
    • 2016-04-12
    相关资源
    最近更新 更多