Прежде всего СПАСИБО автору за скрипт. немного добавил кода для:
в логах добавляется список установленных пролуктов фирмы 1С, выглядит так:
2022.11.10 01:03:15 Начало работы скрипта
На компьютере установлено ПО от 1С:
1C:Предприятие 8 (8.3.18.1208) 8.3.18.1208
1С:Предприятие 8 (8.3.20.1710) 8.3.20.1710
1C:Предприятие 8 (x86-64) (8.3.18.1483) 8.3.18.1483
1С:Предприятие 8 (x86-64) (8.3.19.1229) 8.3.19.1229
1C:Предприятие 8 (8.3.18.1289) 8.3.18.1289
1С:Предприятие 8 Тонкий клиент (8.3.21.1302) 8.3.21.1302
1С:Предприятие 8 (x86-64) (8.3.21.1302) 8.3.21.1302
1С:Предприятие 8 (8.3.22.1672) 8.3.22.1672
1C:Предприятие 8 (x86-64) (8.3.17.1851) 8.3.17.1851
1С:Предприятие 8 (8.3.19.1229) 8.3.19.1229
.....
из лога, копируем нужную версию для удаления и в папке с дистрибутивами создаем пустой каталог с номером версии, при следующей обработке - произойдет удаление релиза.
---- дабавленный код ----
функция находит все установленные программы 1С:Предприятия 8 на компьютере
Входящие данные: нет
Возвращяемые параметры: массив
добавил в поиск символ ":" получилось "1С:|1C:", чтобы не обрабатывать другие продукты от 1с
добавил вывод в лог файл всех установленных продуктов от 1С
Function SearchInstallPlatformsOnComputer {
"======================================" >> $LogFile
"На компьютере установлено ПО от 1С:" >> $LogFile
Get-WmiObject Win32_Product | Where-Object {$.Name -match "^(1С|1C)"} | ft -HideTableHeaders Name, Version -AutoSize | Out-String -Stream | Where { $.Trim().Length -gt 0 } >> $LogFile
"======================================" >> $LogFile
Return Get-WmiObject Win32_Product | Where-Object {$_.Name -match "^(1С:|1C:)"}
}
---- конец кода ----
можно еще дописать код - чтобы автоматом в папку с дистрибутивами добавлялись пустые каталоги найденных версий 1с на компьютерах пользователей ИЛИ переработать логику обработки ключа "ael" - чтобы удалялись все версии кроме последней не взирая на наличие папок в расположении дистрибутивов. (незнаю, дойдут ли руки до этого)
Прежде всего СПАСИБО автору за скрипт. немного добавил кода для:
в логах добавляется список установленных пролуктов фирмы 1С, выглядит так:
2022.11.10 01:03:15 Начало работы скрипта
На компьютере установлено ПО от 1С:
1C:Предприятие 8 (8.3.18.1208) 8.3.18.1208
1С:Предприятие 8 (8.3.20.1710) 8.3.20.1710
1C:Предприятие 8 (x86-64) (8.3.18.1483) 8.3.18.1483
1С:Предприятие 8 (x86-64) (8.3.19.1229) 8.3.19.1229
1C:Предприятие 8 (8.3.18.1289) 8.3.18.1289
1С:Предприятие 8 Тонкий клиент (8.3.21.1302) 8.3.21.1302
1С:Предприятие 8 (x86-64) (8.3.21.1302) 8.3.21.1302
1С:Предприятие 8 (8.3.22.1672) 8.3.22.1672
1C:Предприятие 8 (x86-64) (8.3.17.1851) 8.3.17.1851
1С:Предприятие 8 (8.3.19.1229) 8.3.19.1229
.....
из лога, копируем нужную версию для удаления и в папке с дистрибутивами создаем пустой каталог с номером версии, при следующей обработке - произойдет удаление релиза.
---- дабавленный код ----
функция находит все установленные программы 1С:Предприятия 8 на компьютере
Входящие данные: нет
Возвращяемые параметры: массив
добавил в поиск символ ":" получилось "1С:|1C:", чтобы не обрабатывать другие продукты от 1с
добавил вывод в лог файл всех установленных продуктов от 1С
Function SearchInstallPlatformsOnComputer {
"======================================" >> $LogFile
"На компьютере установлено ПО от 1С:" >> $LogFile
Get-WmiObject Win32_Product | Where-Object {$.Name -match "^(1С|1C)"} | ft -HideTableHeaders Name, Version -AutoSize | Out-String -Stream | Where { $.Trim().Length -gt 0 } >> $LogFile
"======================================" >> $LogFile
Return Get-WmiObject Win32_Product | Where-Object {$_.Name -match "^(1С:|1C:)"}
}
---- конец кода ----
можно еще дописать код - чтобы автоматом в папку с дистрибутивами добавлялись пустые каталоги найденных версий 1с на компьютерах пользователей ИЛИ переработать логику обработки ключа "ael" - чтобы удалялись все версии кроме последней не взирая на наличие папок в расположении дистрибутивов. (незнаю, дойдут ли руки до этого)