PowerShell Rename-Computer 问题——带下划线的名称

Fsa*_*esh 5 powershell scripting

我正在使用 Rename-Computer 编写 PowerShell 脚本,但遇到了一个奇怪的问题:

PS C:\Users\Administrator> Rename-Computer -NewName 395_s2

重命名计算机:跳过计算机 'ztest',新名称为 '395_s2',因为新名称无效。输入的新计算机名称格式不正确。标准名称可以包含字母 (az, AZ)、数字 (0-9) 和连字符 (-),但不能包含空格或句点 (.)。名称不能完全由数字组成,并且不能超过 63 个字符。

我真的希望能够在机器名称中使用下划线,并且 -Force 标志不会更改输出。

当我在计算机->系统属性->计算机名称/域更改中手动输入相同的名称时,它会询问:

您要使用此计算机名称吗?

名称“395_s2”包含非标准字符。这可能会导致某些应用程序或网络硬件出现问题。

我可以选择是并覆盖非标准字符。有没有办法直接在 PowerShell 中执行此操作?

The*_*ian 0

作为答案,我不会向您展示如何使用下划线重命名您的计算机,相反,我强烈建议您不要在计算机名称中使用它们。

我想向您推荐 RFC 1178,它的设计目的只是为了帮助人们在命名计算机时做出正确的决定。您可以在以下位置找到它:

https://www.rfc-editor.org/rfc/rfc1178

至于为什么不应该这样做,如果您的主机名中包含下划线,许多应用程序和系统将无法工作,包括 Internet Explorer 等标准应用程序和系统。

另外,DomainKeys 和服务记录等系统使用下划线作为确保其特殊字符不会与主机名混淆的方法(参考:维基百科)。