Windows 命令行/PowerShell 参数/选项

Windows 命令行/PowerShell 参数/选项

我无法相信这没有在某处记录,但互联网似乎到目前为止无法提供答案,所以我希望一个真正的人可以.....

我正在尝试使用 Windows Server 中的 Windows PowerShell 运行命令。该命令用于查询 DFS 复制积压,如下所示:

Usage: DFSRDIAG Backlog [/ReceivingMember:name] </SendingMember:name> </RGName:name> </RFName:name>

我找不到任何关于 [] 和 <> 之间区别的信息。我大胆猜测,一组是强制性的,另一组是可选的,但遗憾的是,网上似乎没有任何地方能够以简单的文字来证实这一点!

非常感谢您的帮助!

编辑 20/01/2022

按照建议的语法,我尝试让 backlog 命令工作,但没有成功。每次我尝试执行该命令时,都会出现 backlog 帮助。

我使用的命令如下:

DFSRDIAG Backlog /RGname:Domain System Volume /RFname:SYSVOL /Smem:<server FQDN> /Rmem:<server FQDN>

显然这里有些不对劲(我怀疑这与“系统域卷”或“SYSVOL”部分有关),但我试图查找 SYSVOL 复制是否存在积压,因为它需要大约 2 小时才能到达组中的一个 DC。

答案1

它不是一种像 ABNF 那样的明确定义的语法,它只是此类文本使用的一种常见约定。

一般来说,在软件文档中,惯例是[...]表示可选部分。 在您的例子中,这意味着整个/ReceivingMember...都是可选的。

另一方面,并<...>​​不完全意味着“必需”——没有任何额外标点符号的文本默认已经是“必需的”——相反,它通常表示填写占位符,因此可选参数通常写为[<name>](或--color[=<when>]例如)。

DFSRDIAG 程序使用了<...>一种不寻常的方式——它对于剩下的 3 个选项来说,似乎意味着“必需”,尽管通常/SendingMember:<name>这是我所期望的。

但是,DFSRDIAG 不是 PowerShell cmdlet,它是一个完全独立的程序,其整个帮助文本(包括所有使用示例)都是由程序员手动编写的,因此存在一些差异并不罕见。(Windows 中的许多非 PS 工具都是这种情况;他们甚至无法就选项是否以/或开头达成-一致--...)

答案2

毕竟,实现此目的的更简单的方法似乎是使用 PowerShell cmdlet:

Get-DfsrBacklog

然后输入源服务器名称,然后输入目标服务器名称。

簡單。

相关内容