我目前正在進行一個專案,我正在通過注冊表中的 SOFTWAREPoliciesMicrosoftEdgeExtensionInstallForcelist 位置將一些鉻和邊緣擴展安裝到我們環境中的計算機上。
我正試圖找出一種方法,使我能夠通過腳本計算該串列中的條目數量,然后在我需要安裝新的應用程式時對下一個應用程式的名稱進行 1,以節省在腳本中硬編碼的數字。我試著四處尋找方法,但我不確定如何措辭才能找到具體問題的答案。我仍然是Powershell的新手,我只是在寫我的前幾個腳本,我肯定有一些愚蠢的東西被我忽略了,或者只是現在沒有想到而已。我試著在我的blocklist注冊表項上做了以下作業,因為我知道那里有不止一個。
PS C。 WINDOWSsystem32> get-RegValue -Hive LocalMachine -key SOFTWAREPoliciesMicrosoftEdgeExtensionInstallBlocklist |Select-Object -Property value
價值
-----
1
新值 #1
PS C: WINDOWSsystem32> get-RegValue -Hive LocalMachine -key SOFTWAREPoliciesMicrosoftEdgeExtensionInstallBlocklist |Select-Object -Property value | measure
計數。2
平均數。
總數:
最大值 : 平均值。
最小值。
Property 。
PS C: WINDOWSsystem32> get-RegValue -Hive LocalMachine -key SOFTWAREPoliciesMicrosoftEdgeExtensionInstallBlocklist |Select-Object -Property value |Select -Object -Property count
計數
-----
2
PS C: WINDOWSsystem32> $Value = get-RegValue -Hive LocalMachine -key SOFTWAREPoliciesMicrosoftEdgeExtensionInstallBlocklist |Select- Object -Property value | measure |Select-Object -Property count
PS C:WINDOWSsystem32> [int]$Value
無法轉換"@{Count=2}"值的型別"選定的。 Microsoft.PowerShell.Commands.GenericMeasureInfo" to type "System.Int32"。
在行:1 char: 1
[int]$Value
~~~~~~~~~~~
CategoryInfo : InvalidArgument: (:) [], RuntimeException
FullyQualifiedErrorId : ConvertToFinalInvalidCastException
我遇到的問題是,我不確定如何將計數回傳為整數? 或者至少將計數從字串變成整數,這樣我就可以對其進行 1回圈。
我的最終目標是讓它讀取注冊表,計算其中的字串數量,然后為下一個條目的名稱 1,然后為該條目設定資料。正如我所說的,我可以很容易地對它進行硬編碼,使應用程式1為 "1",應用程式2為 "2",但我認為如果我可以要求它計算條目和 1的名稱會更好。
uj5u.com熱心網友回復:
@{Count=2}"表示這是一個具有名為Count屬性的物件。 你得到這個錯誤是因為你不能把整個物件鑄成一個整數。
然而,你可以通過它的屬性來訪問這個值
。$Value.Count
或者你可以在你的主陳述句中使用-ExpandProperty Count來做這件事,這將只回傳屬性的值而不是包含屬性的物件。
get-RegValue -Hive LocalMachine -key SOFTWAREPoliciesMicrosoftEdgeExtensionInstallBlocklist |Select-Object -Property value|
測量-Object | |
Select-Object -ExpandProperty count
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/326682.html
標籤:
