Sharepoint Powershell Cmd和运行时选项

Sharepoint Powershell Cmd和运行时选项,sharepoint,powershell,Sharepoint,Powershell,让我来写这个例子:我们正处于一个部署过程中,我们希望调用一个命令运行时(例如Get SPFeature),并且这个命令接受一些您希望在部署一些pkg的过程中更改的选项。 某些功能必须安装在Web范围内,其他功能必须安装在站点范围内,其他功能必须安装在WebApplication范围内 我们的想法是只编写一个函数,可以帮助您在检查后选择在何处启用功能: function EnableFeatures ($features, $where, $url, $logFile) $features变量是

让我来写这个例子:我们正处于一个部署过程中,我们希望调用一个命令运行时(例如Get SPFeature),并且这个命令接受一些您希望在部署一些pkg的过程中更改的选项。 某些功能必须安装在Web范围内,其他功能必须安装在站点范围内,其他功能必须安装在WebApplication范围内

我们的想法是只编写一个函数,可以帮助您在检查后选择在何处启用功能:

function EnableFeatures ($features, $where, $url, $logFile)
$features变量是一个包含要启用的功能列表的数组。$url变量是此功能的位置。 我们需要$where变量来检查功能是否启用,然后再尝试在该范围内启用它:

Get-SPFeature -Identity "my feature" -Webapplication/Site/Web "my url"
我想做的是用我需要的变量执行我的enableffeatures函数,并执行此检查


我该怎么做呢?

我认为您只能使用哈希表,因为您在变量中使用命名参数

因此,这将导致:

Get-SPFeature-Identity$feature@{$where=$url}

Get-SPFeature@{Identity=$feature;$where=$url}

哦。。。你还可以做:

调用表达式“Get-SPFeature-Identity$feature$where$url”


但是对于您的需要,它可能会很慢。

您希望如何调用您的
EnableFeatures
函数?我不理解您使用的
$where
参数化功能“功能名称”、“-Site”、“我的url”、$logfile只是为了了解,我如何使用没有价值的选项。。。像-Force选项一样?@SalvatoreDiFazio
-Force
是一个
开关
:它可以使用
$true
$false
。因此,
@{Force=$true}
应该可以使用飞溅。使用
Invoke Expression
似乎很简单。也要考虑清楚你的第一个问题,因为大多数人都不理解它——鉴于投票次数的减少。@ SalvatoreDiFazio应该是这样的,除非你使用PultSu壳V1.0。飞溅是v2的一个特性。