2017-08-31 85 views
0

我正在使用cmdlet在Windows服務器  2016 DHCP服務的範圍內創建允許的MAC策略。如何阻止我的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" 
+0

在我們診斷出它有什麼問題之前,您將不得不提供實際的代碼。 –

+1

嘗試將MAC放在引號中 – Itchydon

+3

看起來MAC被解釋爲一個數字。 Itchydon說:引用字符串。 – Richard

回答

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

我在MAC中添加了連字符,效果很好。

無論如何,謝謝!