Sergey
shutdown -a & net stop ccmexec и сразу гораздо больше
Ігор
как и где, подскажи плиз
Евгений
надо паузить процесс
Sergey
ccmexec запустицо взад
через сколько? :)
Евгений
через process explorer какойнить
Ігор
спасибо. а то достали звонками у меня тут появилось.......
Anton
а кто-нибудь задумывался инвентори расширений в браузерах?
Anton
хром, лиса и прочее
Oleksandr
Кстати, да, вопрос с руководства задавался, но потом как-то затихло, нужно было всякую дич удалить.
Anton
шта?
Dmitry
Ништа
Alexander
а кто-нибудь задумывался инвентори расширений в браузерах?
https://pastebin.com/Rxv30AyJ вот спертый скрипт на хром
Alexander
я запускал по всем ПК, просто кладет айди и имя в текстовый файлик
Alexander
потом политиками можно запретить по айди
Vertexx
В хроме можно запретить всё и потом белый список сделать.
Anton
тогда нужен коллективный разум экстеншены для хрома по именам с набором букв есть у юзверя Get-ChildItem -Path "$($env:LOCALAPPDATA)\Google\Chrome\User Data\Default\Extensions" но софтваре инвентори мы же не можем собрать для текущего залогененого юзверя, тогда как сделать?
Anton
DCM написать на детект?
Anton
@skorotkov пинг ))) давай подключайся
Sergey
это всё фигня... ненужная
Sergey
взять теплейт гугловый и запретить все нахер...
Anton
не, так нельзя )
Anton
https://community.spiceworks.com/scripts/show/3911-get-chromeextensions-ps1
Anton
мм?
Anton
Да это все понятно, они там дёргают файлики и парсят джсон
Anton
а надо получить инвентори, чтоб и в базу селектнуть и видеть что стоит
Anton
щас вон уязвимые расширения появились и чтоб сразу видно было, где и чо
Anton
ну так то уже сложнее)
Anton
ну дык я бы и не спрашивал ) я могу сделать CI с проверкой известных расширений и проверкой
Anton
просто гнать software inventory на всю папку users Ну это такое
Anton
@skorotkov если я в пути по софтваре инвентори дапулю %APPDATA% сработает?
Anton
как думаешь?
Sergey
для систем то?
Sergey
да
Anton
но аппдату то для кого соберет?
Sergey
систем
Anton
а экстеншены у юзверя лежат
Sergey
яж говорю - фигня :)
p
тут скорее ответственность на пользователях..., но идея интересная, допустим комплайнс делать с ремидиейшеном потом на расширения.
🐈‍⬛13
Доброго! Хочу сделать расширение для консоли по правой кнопке мыши. Вопрос какой параметр нужно передать в powershell script, что бы получить список членов коллекции?
Sergey
id коллекции а раскрывать коллекцию будете в скрипте
🐈‍⬛13
"##SUB:CollectionID##" эту?
🐈‍⬛13
А пример раскрытия можно, где-то посмотреть?
Sergey
эээ а там разве такое есть?
Sergey
там вроде кругом ресурсИД
Sergey
ща
Sergey
а да, вы правы ##SUB:collectionID##
🐈‍⬛13
Есть вот такая классная штука для редактора меню My Right Click Menu Editor
🐈‍⬛13
Но вопрос как раскрыть коллекцию остался :)
Sergey
там всё просто
Sergey
вы своему скрипту передаете ИД колекции сервер ну может неймспейс
Sergey
ща накидаю пример
Sergey
пример логики: # В XML у вас будет что-то вроде такого <Parameters> "c:\path\to\RCT Tools.ps1" 0 "##SUB:collectionID##" 1 "##SUB:Name##" 2 "##SUB:LocalMemberCount##" 3 "##SUB:__Server##" 4 "##SUB:__Namespace##" </Parameters> # В скрипте RCT Tools.ps1 $ColID = $args[0] $ColName = $args[1] $MemberCount = $args[2] $Server = $args[3] $Namespace = $args[4] # Вам приходит что то вроде: $ColID = 'M02000CD' $Server = 'sccm-srv04' $Namespace = 'root\sms\site_M02' # Запрос мемберов по колекшнИД: $strQuery = "Select DISTINCT SMS_R_System.Name,SMS_R_System.ResourceNames from SMS_FullCollectionMembership as c join SMS_R_System on c.ResourceID = SMS_R_System.ResourceID where c.CollectionID='$ColID'" $AllDevices = Get-WmiObject -Query $strQuery -Namespace $Namespace -ComputerName $Server $AllDevices | select name
Sergey
предвосхищая вопрос.. ИД экшнов проще всего смотреть в консоль билдере
Sergey
а потом смотреть в КонсольРут :) и ломать глаза
Anton
короче к хромовским экстеншенам так накидал $extension_folders = Get-ChildItem -Path "$($env:LOCALAPPDATA)\Google\Chrome\User Data\Default\Extensions" $chrome_ext = @("ginfoagmgomhccdaclfbbbhfjgmphkph", "mpneoicaochhlckfkackiigepakdgapj", "djffibmpaakodnbmcdemmmjmeolcmbae", "ppmibgfeefcglejjlpeihfdimbkfbbn") ForEach ($user in (Get-ChildItem "C:\Users" -Exclude Public)) { if (($extension_folders.Name | %{$chrome_ext.contains($_)}) -eq $true) { Write-Host "Non-Compliant" } else { Write-Host "Compliant" } }
Sergey
поленился :) ох уж эти конструкции: ($extension_folders.Name | %{$chrome_ext.contains($_)}) -eq $true
Sergey
чет мне кажется логика не правильная
Anton
ну если что-то из $chrome_ext есть в имени пути, то нон-клмплайнт
Sergey
если несколько есть то тебе несколько нон комплайнс выкинет
Sergey
как и комплайнс собственно
Anton
да и пофег
Anton
а
Anton
я понял
Sergey
а в DSC ты как это будешь ловить?
Sergey
совсем ты со своим питоном и прочими ботами забыл всё :)
Sergey
возвращайся...
Sergey
... обратно, в теплый, ламповый ссм
Anton
$extension_folders = Get-ChildItem -Path "$($env:LOCALAPPDATA)\Google\Chrome\User Data\Default\Extensions" $chrome_ext = @("ginfoagmgomhccdaclfbbbhfjgmphkph", "mpneoicaochhlckfkackiigepakdgapj", "djffibmpaakodnbmcdemmmjmeolcmbae") $results = 0 ForEach ($user in (Get-ChildItem "C:\Users" -Exclude Public)) { if (($extension_folders.Name | Where-Object {$chrome_ext -contains $_}).count -gt 0) { $results++ } } if ($results -gt 0){ Write-Host "Non-Compliant" } else { Write-Host "Compliant" } @skorotkov так пойдет? ;)))
Navynine
Мы экстеншены неидаем ставить политиками
Navynine
Не даем
Navynine
По запросу ставим через gpo
Navynine
У хрома есть шаблоны gpo
Navynine
Так же есть внутренний сайт со списком апоувленных расширений, юзаки оттудова сами могут ставить что хотят
Navynine
А из других источников, в т.ч. магазин хром - никак
Sergey
Да, с этого и началось, но тут видимо спортивный интерес
Anton
Гпо, маки и ещё стадо разработчиков, ага
Sergey
$extension_folders = Get-ChildItem -Path "$($env:LOCALAPPDATA)\Google\Chrome\User Data\Default\Extensions" $chrome_ext = @("ginfoagmgomhccdaclfbbbhfjgmphkph", "mpneoicaochhlckfkackiigepakdgapj", "djffibmpaakodnbmcdemmmjmeolcmbae") $results = 0 ForEach ($user in (Get-ChildItem "C:\Users" -Exclude Public)) { if (($extension_folders.Name | Where-Object {$chrome_ext -contains $_}).count -gt 0) { $results++ } } if ($results -gt 0){ Write-Host "Non-Compliant" } else { Write-Host "Compliant" } @skorotkov так пойдет? ;)))
мой вариант для учетки систем или с повышением прав: $true - найден хоть в одном профиле $BadExtension = New-Object System.Collections.Generic.HashSet[string] (,[string[]]@("ginfoagmgomhccdaclfbbbhfjgmphkph", "mpneoicaochhlckfkackiigepakdgapj", "djffibmpaakodnbmcdemmmjmeolcmbae")) $CurExtension = New-Object System.Collections.Generic.HashSet[string] (,[string[]]@((get-item "$($env:SystemDrive)\Users\*\AppData\local\Google\Chrome\User Data\Default\Extensions\*" -ErrorAction 0).Name)) $BadExtension.IntersectWith($CurExtension) [bool]$BadExtension.Count