2017-10-28 2 views
-1

MDS/SCCM을 통해 이미징 시퀀스를 설치 한 후 컴퓨터를 WMI 쿼리 할 때 powershell 스크립트를 사용하려고합니다. 적극적으로 System Properties 영역 (Manufacturer, Model, InstallDate, SerialNumber 등)의 일부를 수행 할 수있는 여러 개의 VB 스크립트가 있으며이 스크립트를 단일 스크립트로 통합하고자합니다.WMI 정보를 기반으로 레지스트리에 쓸 powershell 스크립트

Powershell ISE를 관리자 권한으로 실행하면 권한 문제가 발생하지 않습니다. Bootcamp를 통해 Windows 10에서 테스트 할 때 모델 정보가 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"의 동일한 레지스트리 경로에 배치되어야합니다.

Manufacturer, Model, Name, InstallDate, SystemType도 포함 시키십시오.

답변

1

정확하게 이해하면 레지스트리에 쓸 수 있지만 같은 "경로"에 여러 항목을 쓰는 방법을 잘 모르겠습니다.

Windows 레지스트리는 "키"및 하나 이상의 값으로 구성됩니다. 위의 "new-item"행은 실제로 값을 설정하지만 지정하지 않으므로 "magic"기본값이 사용 된 것처럼 보입니다. 동일한 경로에서 여러 사람을 설정하려면, 당신은 사용 예를 들어 Cmdlet를 설정-ItemProperty를를 사용하십시오 :

Set-ItemProperty -Path $RegKey -Name "Model" -value $Model 

할 수 있습니다 다음이 같은 기술을 사용하여 해당 경로에 여러 "속성"(그냥 "이름"매개 변수에 다른 값을 사용합니다.

+0

PowerShell을 복귀가 기록되는 것을 말한다, 그러나 찾을 때 레지스트리에서 나는 스트립에 대한 항목을 볼 수 없다. "Model"또는 "MacBookPro11,1"의 값을 수반합니다. "Set-ItemProperty"도 이미 존재하지 않는다면 문자열 키를 만들겠습니까 (혼란 스럽다면 미안 해요)? –

+0

입니다. Google "Set-itemproperty" "레지스트리"및 예제 호스트를 찾아야합니다. – Trondh

+0

원래 그것이 잘못된 목적지에 쓰고 있다고 판단 할 수 있었기 때문에 그것을 보지 못했습니다. 그러나 "$ model"에 대한 반환 값이 공백이있는 문자열 인 경우 항목을 레지스트리에 기록 할 수 있도록 저장하는 방법은 무엇입니까? 'Model = (Get-WmiObject -Class : Win32_ComputerSystem) .Model' 반환 값은'HP Elitebook x360'입니다. –

-1

나는 이것이 해결 얻을 수 있었다, 당신이 도움을 @Trondh 감사합니다.

$Model = (Get-WmiObject -Class:Win32_ComputerSystem).Model 
$RegPath = 'Registry::HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\OEMInformation' 

New-Item $RegPath -Force | New-ItemProperty -Name Model -Value $Model -Force | Out-Null 
관련 문제