我有一個二進制註冊表值,我想檢查Powershell腳本中的一致性。我通過檢索值:Powershell:如何將字節字符串與二進制註冊表值進行比較
(Get-ItemProperty -Path HKLM:\Software\ORL\WinVNC3 -Name ACL).ACL
這將返回一個字節的字符串作爲結果。
然後,我創建一個字節字符串變量,該字符串變量與我期望的匹配,然後通過regedit.exe導出註冊表項來查詢此值。然後,我通過在用逗號分隔的每個字節前添加「0x」來創建一個字符串,並且鍵入是[byte]。當我只是看到兩個琴絃時,他們完全一樣。但是,當我:
$RegistryValue -eq $CreatedValue
它們不返回True。我究竟做錯了什麼?
什麼類型的變量?根據類型,[比較運算符](http://technet.microsoft.com/en-us/library/hh847759(v = wps.620).aspx)的工作方式不同。數組和集合不會評估平等。 – beavel
我能夠想出的兩個變量都是字節類型。 –
'$ RegistryValue.GetType()。Fullname'返回什麼?在[Byte]類型的變量中不應該有任何「0x」(http://msdn.microsoft.com/en-us/library/System.Byte(v = vs.90))。aspx) – beavel