Я использую следующий код, чтобы попытаться вытащить список установленного программного обеспечения в системе и проверить некоторые записи в списке, поэтому пока удалось получить список программного обеспечения для запуска по желанию, используя следующий код:Вытягивание списка записей из ключа реестра и проверка их на все, что содержится в массиве
$path = 'HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\*'
Get-ChildItem $path | Get-ItemProperty | Select-Object DisplayName
if (ItemProperty -Name -eq ('Wacom Tablet')) {
start notepad.exe
}
Я хотел бы, чтобы быть массив, который ссылается на DisplayName
список, но я получаю следующее сообщение об ошибке:
ItemProperty : Cannot find path 'C:\WINDOWS\system32\Wacom Tablet' because it does not exist. At C:\Users\username\Documents\Scripts\win10test.ps1:39 char:5 + if (ItemProperty -Name -eq ('Wacom Tablet')) { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : ObjectNotFound: (C:\WINDOWS\system32\Wacom Tablet:String) [Get-ItemProperty], ItemNotFoundException + FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetItemPropertyCommand
Как я мог достичь этого?
Итак, вы хотите, чтобы начать 'notepad.exe', если какой-либо из ключей реестра есть экран DisplayName "Wacom Tablet"? –
Thats просто триггер, чтобы проверить, что он работает, это то, что он потом: #if ([Environment] :: OSVersion.Version.Major -EQ 6.0) { # installWIN10 #} elseif ([Environment] :: OSVersion.Version.Major -EQ 6.1) { # InstallWin10 #} #} elseif ([Environment] :: OSVersion.Version.Major -EQ 10.0) { #Echo «У вас уже установлена Windows 10, пожалуйста, нажмите любую ключ для выхода из этой программы ». #} #Exit –
'if ([System.Environment] :: OSVersion.Version -lt [version] '10 .0 ') {<# install win10 #>}' –