Я пытаюсь записать в файл .js на основе содержимого текстового файла (C: \ instalApps.txt), используя PowerShell.
Файл installedApps.txt
содержит имя и версиюустановленные приложения на компьютере - я хочу найти installedApps.txt
для имени и версии приложения, и результат присваивается переменным $findAppName
и $findAppVer
соответственно.
Затем я хочу записать в.файл js, если командлету Select-String удалось сопоставить аргументы $appName
и $appVer
, переданные в функцию Check-Install.См. Код ниже:
function Check-Install ([string]$appName, [string]$appVer) {
$findAppName = Get-Content C:\installedApps.txt | Select-String $appName
$findAppver = Get-Content C:\installedApps.txt | Select-String $appVer
if ($findAppName -and $findAppVer -eq $true) {
Set-Content -path $jsFile -Value "var row = getElementById('row-1');
row.classList.add('hidden');"
} else {
write-host Match Not Found
}
}
Check-Install -appName "Cisco AnyConnect Secure Mobility Client" -appVer "4.6.01103"
Переменные $findAppName
и $findAppVer
ничего не возвращают, но не уверены, в чем я ошибаюсь - командлет Select-String должен принимать переменные (?).
Примечание. В оболочке не возникает ошибок
ОБНОВЛЕНИЕ:
Вот пример того, как форматируется установленный журналApps.txt:
DisplayName : 7-Zip 18.05 (x64)
Publisher : Igor Pavlov
InstallDate :
DisplayVersion : 18.05
UninstallString : C:\Program Files\7-Zip\Uninstall.exe
DisplayName : Adobe Flash Player 31 NPAPI
Publisher : Adobe Systems Incorporated
InstallDate :
DisplayVersion : 31.0.0.122
UninstallString :
C:\WINDOWS\SysWOW64\Macromed\Flash\FlashUtil32_31_0_0_122_Plugin.exe -
maintain plugin
DisplayName : Adobe Flash Player 31 PPAPI
Publisher : Adobe Systems Incorporated
InstallDate :
DisplayVersion : 31.0.0.122
UninstallString :
C:\WINDOWS\SysWOW64\Macromed\Flash\FlashUtil32_31_0_0_122_pepper.exe -
maintain pepperplugin
DisplayName : Cisco AnyConnect Secure Mobility Client
Publisher : Cisco Systems, Inc.
InstallDate : 20180906
DisplayVersion : 4.6.01103
UninstallString : MsiExec.exe /X{58524593-122C-43F0-96E2-A6BCC42E3412}
Я хочу инициировать установку / удаление приложения (без использования объекта WMI, поскольку, как я прочитал, это занимает некоторое время и может вызвать восстановление установки по запросу) и запись на локальную веб-страницу на основерезультаты $ findApp через файл .js показывают, установлено ли приложение или нет.
Я пытаюсь создать сценарий обновления программного обеспечения с интерфейсом, написанным на HTML, CSS и JavaScript дляUI.Сценарий будет запускаться при входе на несколько компьютеров в домене.Мне нужно будет использовать Ajax, чтобы найти способ динамического обновления локальной веб-страницы без обновления страницы, но по одному шагу за раз.