使用不带任何参数的 PowerShell 命令行

使用不带任何参数的 PowerShell 命令行

就像声明的那样这里在 PowerShell 帮助的语法中:

参数可以是必选的,也可以是可选的。在语法图中,可选项用括号([ ])括起来。

因此在如下命令中Set-NetIPAddress

NAME
    Set-NetIPAddress

SYNOPSIS
    Modifies the configuration of an IP address.


SYNTAX
    Set-NetIPAddress [[-IPAddress] [<String[]>]] [-AddressFamily [<AddressFamily[]>]] [-AddressState
    [<AddressState[]>]] [-CimSession [<CimSession[]>]] [-IncludeAllCompartments] [-InterfaceAlias [<String[]>]]
    [-InterfaceIndex [<UInt32[]>]] [-PassThru] [-PolicyStore [<String>]] [-PreferredLifetime [<TimeSpan>]]
    [-PrefixLength [<Byte>]] [-PrefixOrigin [<PrefixOrigin[]>]] [-SkipAsSource [<Boolean>]] [-SuffixOrigin
    [<SuffixOrigin[]>]] [-ThrottleLimit [<Int32>]] [-Type [<Type[]>]] [-ValidLifetime [<TimeSpan>]] [-Confirm]
    [-WhatIf] [<CommonParameters>]

    Set-NetIPAddress [-CimSession [<CimSession[]>]] [-PassThru] [-PreferredLifetime [<TimeSpan>]] [-PrefixLength
    [<Byte>]] [-SkipAsSource [<Boolean>]] [-ThrottleLimit [<Int32>]] [-ValidLifetime [<TimeSpan>]] [-Confirm]
    [-WhatIf] [<CommonParameters>]

没有必要的参数,但是运行此命令和许多其他没有任何参数的命令有什么用处,运行时没有明显的结果,只是进入一个新的提示?

答案1

两件事情。

  1. 我猜,像大多数 PowerShell cmdlet 一样,您可以在管道上传递其中一些值(即从此命令之前的另一个命令传递 - '192.168.1.3' | Set-NetIPAddress)。在这种情况下,不会提供传统意义上的参数。

  2. 我认为您看到的可能是 PowerShell 语法图的限制。我猜您必须提供其中至少一个参数,但没有一个参数是必需的,这使得它们在某种意义上都是“可选的”。

相关内容