我已经在谷歌上搜索了Web-Administration
中Set-WebConfiguration -PSPath IIS:\ -Filter /system.webServer/security/authentication/windowsAuthentication -Metadata overrideMode -value Allow
cmdlet几个小时无济于事。它的MSDN源代码并未解释-Metadata参数接受的 作为输入。我在部署脚本中运行此命令:
Get-WebConfiguration -PSPath IIS:\ -Filter /system.webServer/security/authentication/windowsAuthentication -Metadata overrideMode
我正在开发一个读取这些值的库,并在用户的环境不符合规范时提醒用户,因此我尝试使用:
A positional parameter cannot be found that accepts
argument 'overrideMode'.
但我收到错误:pcl::RandomSampleConsensus
我确实只是使用这个确切的语法来设置这个确切的参数!
如何在PowerShell中找到有关参数的更多信息?是否有一个cmdlet,或者我只是使用Get-WebConfiguration错误?
答案 0 :(得分:2)
您获得的具体错误是由于-Metadata
参数是一个开关 - 它不接受任何参数。
指定-Metadata
开关时,返回的对象包含Metadata
属性。
获取overrideMode
的值:
(Get-WebConfiguration -Filter "/node/filter" -Metadata).Metadata.overrideMode
(我以Test-Path
为例,但这适用于任何cmdlet)
您始终可以从Get-Command -Syntax
获取有关cmdlet 语法的最基本信息:
PS C:\> Get-Command Test-Path -Syntax
Test-Path [-Path] <string[]> [-Filter <string>] [-Include <string[]>] [-Exclude <string[]>] [-PathType <TestPathType>]
[-IsValid] [-Credential <pscredential>] [-UseTransaction] [-OlderThan <datetime>] [-NewerThan <datetime>]
[<CommonParameters>]
Test-Path -LiteralPath <string[]> [-Filter <string>] [-Include <string[]>] [-Exclude <string[]>] [-PathType
<TestPathType>] [-IsValid] [-Credential <pscredential>] [-UseTransaction] [-OlderThan <datetime>] [-NewerThan
<datetime>] [<CommonParameters>]
Get-Command
返回CommandInfo
个对象,您可以使用它来深入检查参数。
举个例子,让我们来看看Get-WebConfiguration -Metadata
参数:
PS C:\> (Get-Command Get-WebConfiguration).Parameters["Metadata"]
Name : Metadata
ParameterType : System.Management.Automation.SwitchParameter
ParameterSets : {[__AllParameterSets, System.Management.Automation.ParameterSetMetadata]}
IsDynamic : False
Aliases : {}
Attributes : {__AllParameterSets}
SwitchParameter : True
在这里我们可以看到-Metadata
实际上是一个开关(注意SwitchParameter : True
属性)
要检索有关cmdlet的文档,您始终可以使用Get-Help
cmdlet获取有关特定cmdlet的perldoc / manpage类输出。由于文档只是文本,因此您可以将其传递给more
以逐步执行它(再次,非常类似于联机帮助页或perldoc):
# Get a basic summary
Get-Help Test-Path
# Get more comprehensive summary
Get-Help Test-Path -Detailed
# Get the full documentation including examples
Get-Help Test-Path -Full
# Get just the examples
Get-Help Test-Path -Examples
# Get the help section about a specific parameter
Get-Help Test-Path -Parameter Path