如何阻止我的MAC地址被视为号码?

时间:2017-08-31 12:04:45

标签: powershell mac-address dhcp windows-server-2016

我正在使用cmdlet在Windows Server 2016 DHCP服务范围内创建允许MAC的策略。

我有一个C#代码,它生成包含所有信息的脚本,并且它是合法的,MAC地址是正确的,但PowerShell会将某些地址“翻译”为8634971886e5863497188600000

生成的语句是:

Add-DhcpServerv4Policy -Name Test -Condition OR -ScopeId 127.0.0.1 -MacAddress EQ,8634971886e5

如果我引用它,它会说运营商EQ丢失了。

Add-DhcpServerv4Policy -Name Test -Condition OR -ScopeId 127.0.0.1 -MacAddress "EQ,8634971886e5"

2 个答案:

答案 0 :(得分:2)

所以根据documentation for Add-DhcpServerv4Policy -MacAddress正在寻找一个字符串数组。他们给出的例子和你自己的例子大致相同。

PS C:\> Add-DhcpServerv4Policy -Name HyperVPolicy -Condition OR -MacAddress EQ,00155D*,000569*

但是,正如您所看到的那些MAC被视为数字,因为它们没有被引用/键入字符串。评论已经告诉你引用字符串,但我认为这是错误的。不要引用整个字符串,而是它的各个元素,这样它就是一个字符串数组。来自您的评论

Add-DhcpServerv4Policy -Name Test -Condition OR -ScopeId 127.0.0.1 -MacAddress "EQ,8634971886e5"

-MacAddress正在发送一个字符串。第一个元素不是比较器,因此你得到的错误。

相反应该是......

Add-DhcpServerv4Policy -Name Test -Condition OR -ScopeId 127.0.0.1 -MacAddress "EQ","8634971886e5"

Your workaround obviously works很好,但我想让你知道其他人试图告诉你什么。

答案 1 :(得分:1)

我已经在MAC中添加了连字符,效果很好。

非常感谢!

相关问题