Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powershell 如何阻止我的MAC地址被视为一个数字?_Powershell_Mac Address_Dhcp_Windows Server 2016 - Fatal编程技术网

Powershell 如何阻止我的MAC地址被视为一个数字?

Powershell 如何阻止我的MAC地址被视为一个数字?,powershell,mac-address,dhcp,windows-server-2016,Powershell,Mac Address,Dhcp,Windows Server 2016,我正在使用cmdlet在Windows Server2016 DHCP服务的作用域内创建允许的MAC策略 我有一个C#代码生成包含所有信息的脚本,它是合法的,MAC地址是正确的,但PowerShell将某些地址“翻译”为8634971886e5到863497188600000 生成的语句是: Add-DhcpServerv4Policy -Name Test -Condition OR -ScopeId 127.0.0.1 -MacAddress EQ,8634971886e5 如果我引用它,

我正在使用cmdlet在Windows Server2016 DHCP服务的作用域内创建允许的MAC策略

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

生成的语句是:

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"

我在MAC上添加了连字符,效果很好


无论如何谢谢你

我在MAC上添加了连字符,效果很好

无论如何谢谢你

因此根据
-MacAddress
正在寻找字符串数组。他们举的例子和你自己举的差不多

但是,正如您所看到的,您的一些Mac被视为数字,因为它们没有被引用/键入为字符串。注释一直告诉您引用字符串,但我认为这样做是错误的。不要引用整个字符串,而是引用单个元素,使其成为字符串数组。根据你的评论

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

相反,它应该是

Add-DhcpServerv4Policy -Name Test -Condition OR -ScopeId 127.0.0.1 -MacAddress "EQ","8634971886e5"
很好,但我想让你知道其他人想告诉你什么

因此根据
-MacAddress
正在寻找字符串数组。他们举的例子和你自己举的差不多

但是,正如您所看到的,您的一些Mac被视为数字,因为它们没有被引用/键入为字符串。注释一直告诉您引用字符串,但我认为这样做是错误的。不要引用整个字符串,而是引用单个元素,使其成为字符串数组。根据你的评论

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

相反,它应该是

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

很好,但我想让你知道其他人想告诉你什么

您必须提供实际的代码,然后我们才能诊断出它有什么问题。尝试将MAC放入引号中看起来MAC被解释为一个数字。正如Itchydon所说:引用字符串。如果我这样引用:Add-DhcpServerv4Policy-Name Test-Condition或-ScopeId 127.0.0.1-MacAddress“EQ,8634971886e5”,则表示缺少运算符EQ:(如果您尝试这样做会发生什么:Add-DhcpServerv4Policy-Name Test-Condition或-ScopeId 127.0.0.1-MacAddress'8634971886e5',您必须提供实际的代码,然后我们才能诊断它的错误。尝试将MAC放入引号中看起来MAC被解释为一个数字。正如Itchydon所说的:引用字符串。如果我像is:Add-DhcpServerv4Policy-Name Test-Condition或-ScopeId 127.0.0.1-MacAddress“EQ,8634971886e5”表示缺少运算符EQ:(如果尝试此操作会发生什么情况:Add-DhcpServerv4Policy-Name Test-Condition或-ScopeId 127.0.0.1-MacAddress“8634971886e5”
Add-DhcpServerv4Policy -Name Test -Condition OR -ScopeId 127.0.0.1 -MacAddress "EQ","8634971886e5"