#powershell
#powershell
Вопрос:
Как мне получить первый вывод команды? Я хочу взять идентификационный номер.
Я попробовал следующую команду:
$app = Get-WmiObject -Class Win32_Product | Where-Object {$_.Name -Like "App"}
$getNumber = $app[1]
OutPut:
IdentifyingNumber : {00000-00000-0000-000000000}
Name : App
Vendor : App
Version : 1.0.0
Caption : App, Inc.
Комментарии:
1.
$app[$index].IdentifyingNumber
2. Спасибо, это мне так помогло @MathiasR.Jessen
Ответ №1:
Технически, если вы вводите [1], он выбирает второй объект в массиве, поскольку они начинаются с [0], поэтому, если вы хотите, чтобы первый сделал $var = $app[0].IdentifyingNumber
Комментарии:
1. Спасибо, как мне использовать этот результат $app [0]. ОпределениеNumber в переменной? Я хочу использовать IdentifyingNumber для вызова процесса msiexec.
2. @bmoreira18 Вы имели в виду, что хотите извлечь
UninstallString
?3. @Hackoo Нет, я хочу распечатать
IdentifyingNumber : {00000-00000-0000-000000000}
это приложение, я пытаюсь удалить, нужно перезагрузить компьютер, чтобы завершить удаление, в моем скрипте я пытаюсь использовать IdentifiyngNumber для вызова msiexec.exe и используйте параметр /norestart .4. Если вы зайдете в реестр, в нем будет запись со строкой удаления? затем просто отметьте этот флаг перезапуска o? также просто присвоите его переменной?
5. Спасибо @Isaac, этот аргумент открыл мне разум, оставайся в безопасности
![]()
Ответ №2:
я создал следующий сценарий, и он сработал так хорошо, спасибо за все, если я кому-то помогу, это сценарий.
$Keys = Get-ChildItem "HKLM:SOFTWAREMicrosoftWindowsCurrentVersionUninstall"
foreach ($subkey in $Keys) {
if($subkey.Name -notmatch "InstallWIX_"){
Set-Location -Path $subkey.PSPath
$app1 = Get-ItemProperty -Path "." | Where-Object displayname -Match "app1"
$app2 = Get-ItemProperty -Path "." | Where-Object displayname -Match "app2"
$GUID_APP1 = $app1.PSChildName
$GUID_APP2 = $app2.PSChildName
if ($app1.Displayname -eq "APP1") {
amp; cmd /c msiexec.exe /x $GUID_APP1 /qn /norestart
} elseif ($app2.Displayname -eq "APP2") {
amp; cmd /c msiexec.exe /x $GUID_APP2 /qn /norestart
}
}
}