我期待使用PowerShell腳本到WMI期間通過MDT/SCCM成像序列的安裝後查詢的計算機。積極有多個VB腳本來實現系統屬性區(製造商,型號,InstallDate,的SerialNumber等)的部分,並希望整合到一個腳本,做這一切這一點。PowerShell腳本寫註冊表基於WMI信息
運行PowerShell的ISE作爲管理員,這樣就不會造成任何權限問題;當我在Windows 10上通過Bootcamp測試時,模型信息返回Macbook。
Clear-Host
$Model = (Get-WmiObject -Class:Win32_ComputerSystem).Model
$RegKey = 「HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\OEMInformation」
New-Item -Path $RegKey -Name Model -Type String -Value $Model –Force
After I ran the script, these were the results (shown below).
Name Property
----- --------
Model (default) : MacBookPro11,1
但是,該值不寫入註冊表。我怎樣才能將信息寫入註冊表,同時還允許多個變量進行對齊?所有的值(子鍵)都需要創建並放置在「OEMInformation」的相同註冊表路徑中。
目標,以包括製造商,型號,名稱,InstallDate,作爲SystemType中好。
PowerShell的回報說,這是寫的,但是在註冊處,我看不到任何條目ng「型號」或「MacBookPro11,1」的值將伴隨它。如果一個不存在的話,「Set-ItemProperty」是否也會創建字符串鍵(對不起,如果我很困惑)? –
它會。谷歌「Set-itemproperty」「註冊表」,你應該找到大量的例子。 – Trondh
能夠確定它最初寫入錯誤的目的地,這就是爲什麼我沒有看到它。但是,如果「$ model」的返回值是一個包含空格的字符串,那麼如何存儲該條目以允許將條目寫入註冊表? '$ Model =(Get-WmiObject-Class:Win32_ComputerSystem).Model的返回值是'HP Elitebook x360' –