【问题标题】:Cannot bind argument to parameter 'IPAddress' because it is an empty string无法将参数绑定到参数“IPAddress”,因为它是一个空字符串
【发布时间】:2020-07-09 12:14:52
【问题描述】:

我正在尝试使用此 PS 命令为我的 VM 设置 IP V4 地址

   $IPDNS1  = 192.168.10.10
    $DGMAINOFFICE = 192.168.10.254

    New-NetIPAddress –InterfaceAlias “ethernet” -IPAddress $IPDNS1 –PrefixLength 24 -DefaultGateway 
    $DGMAINOFFICE

但我收到此按摩错误

Cannot bind argument to parameter 'IPAddress' because it is an empty string.

【问题讨论】:

  • 去掉精巧/弯引号“ethernet”,并用哑/直引号"ethernet"替换它们。我还建议您使用$IPDNS1 = [IPAddress] "192.168.10.10"$DGMAINOFFICE = [IPAddress] "192.168.10.254"
  • 我无法对您用于访问本网站@ItayBeyder 的浏览器或字体集做任何事情。但是我在 OSX 中使用的 Web 浏览器和我在 Android 上使用的浏览器有明显的区别,(不仅是我的评论,还有你的评论)。也可以谨慎地关注我最初的评论的其余部分。
  • 你修改了前两行吗?
  • ……会发生什么?您是否收到消息错误,Cannot bind argument to parameter 'IPAddress' because it is an empty string.
  • 顺便说一句,您不必使用[IPAddress],您可以简单地将您的IP地址双引号,以便将其视为字符串。 (那将是直接的双引号,而不是创意写作的双引号)$IPDNS1 = "192.168.10.10"$DGMAINOFFICE = "192.168.10.254"

标签: powershell networking system hyper-v


【解决方案1】:

根据我最初的评论,将智能引号更改为哑引号并定义变量类型

$IPDNS1 = [IPAddress] "192.168.10.10"
$DGMAINOFFICE = [IPAddress] "192.168.10.254"
New-NetIPAddress –InterfaceAlias "ethernet" -IPAddress $IPDNS1 –PrefixLength 24 -DefaultGateway $DGMAINOFFICE

您说这不起作用,所以让我们尝试确定原因!

打开 PowerShell 提示符,查看命令Get-Help New-NetIPAddress 的帮助信息,您应该会看到命令期望接收的数据类型。 [-IPAddress] <String>[-DefaultGateway <String>]。那么让我们来看看它被定义为什么类型。键入并输入以下$IPDNS1 = [IPAddress] "192.168.10.10",现在使用以下命令$IPDNS1.GetType().Name 跟进。您应该会看到定义的类型是IPAddress,而不是String,所以让我们尝试修复它:

键入,然后输入以下$IPDNS1 = [String] "192.168.10.10",然后使用以下命令$IPDNS1.GetType().Name。您应该看到定义的类型被正确标识为String。所以让我们真正尝试一下:

$IPDNS1 = [String] "192.168.10.10"
$DGMAINOFFICE = [String] "192.168.10.254"
New-NetIPAddress –InterfaceAlias "ethernet" -IPAddress $IPDNS1 –PrefixLength 24 -DefaultGateway $DGMAINOFFICE

但是应该注意,将变量定义为字符串类型的默认/标准方法是双引号,(不是智能引号),正如我在评论部分也提到的:

要对其进行测试,请在提示符处输入$IPDNS1 = "192.168.10.10",然后输入$IPDNS1.GetType().Name,您应该会看到类型为String,所以让我们看看将其转换为您的命令:

$IPDNS1 = "192.168.10.10"
$DGMAINOFFICE = "192.168.10.254"
New-NetIPAddress –InterfaceAlias "ethernet" -IPAddress $IPDNS1 –PrefixLength 24 -DefaultGateway $DGMAINOFFICE

【讨论】:

  • Simba,请阅读 What should I do when someone answers my question?,并考虑将我的答案标记为已接受,因为它清楚地为您的问题提供了解决方案,并且是唯一的答案。没有接受答案的问题对未来的读者几乎没有用处,因为不接受并不能让他们有信心自己使用答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-28
  • 1970-01-01
  • 1970-01-01
  • 2018-03-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多