1

使用 powershell cmdlet 时,我经常发现我需要将开关设置为有限数量的选项,但我不知道这些选项是什么。我最终花了几个小时试图用谷歌搜索我想要的选项。有没有更好的办法?我试过查看 microsoft 站点和 Get-Help -examples,但这些都没有为我想要的开关提供值。

这是一个例子。

Set-SPWebApplication <a couple of switches...> -AuthenticationMethod <String>

-AuthenticationMethod 的可接受值是什么?

这只是一个例子,但我经常遇到这个问题。我认为 Get-Help 中应该有一些东西可以照亮我,但这通常是无益的。

4

3 回答 3

5

我知道的最简单的方法是传递一个无效选项,然后您会在错误消息中得到一个列表:

PS> Set-ExecutionPolicy foo

Set-ExecutionPolicy:无法绑定参数“ExecutionPolicy”。由于枚举值无效,无法将值“foo”转换为类型“Microsoft.PowerShell.ExecutionPolicy”。指定以下枚举值之一,然后重试。可能的枚举值为“Unrestricted、RemoteSigned、AllSigned、Restricted、Default、Bypass、Undefined”。

在 line:1 char:20
+ Set-ExecutionPolicy <<<< foo
    + CategoryInfo : InvalidArgument: (:) [Set-ExecutionPolicy], ParameterBindingException
    + FullyQualifiedErrorId : CannotConvertArgumentNoMessage, Microsoft.PowerShell.Commands.SetExecutionPolicyCommand

此时您也有了类型,因此您还可以使用制表符完成来获取有效值:

PS> [Microsoft.PowerShell.ExecutionPolicy]::Tab

于 2012-06-15T14:43:14.833 回答
1

无法测试Set-SPWebApplication但:

get-help  out-file -Parameter "encoding"

给出参数的解释和可能值的列表。

于 2012-06-15T14:46:03.523 回答
0

您可以将其与Christian的建议结合使用

(get-help out-file).syntax ## gives you the sytax

之后使用Christian 的版本

get-help  out-file -Parameter "encoding"

因此,您可以使用第一个查询来查看语法,然后使用第二个查询来了解语法的详细信息。您可以替换out-fileSet-SPWebApplication.

希望这可以帮助。

于 2012-06-15T16:01:56.920 回答