Erael
-
Posts
6 -
Joined
-
Last visited
Posts posted by Erael
-
-
Скачиваем с Kaspersky Security для бизнеса Network Agent для Windows.
Распаковываем архив и достаём из него файл Kaspersky Network Agent.msi.
Сохраняем скрипт рядом с файлом Kaspersky Network Agent.msi и запускаем.
make-klnag4GPO.ps1 <имя сервера администрирования> (по умолчанию скрипт нацелен на 127.0.0.1)
После успешного завершения скрипта добавляем в GPO на установку.
<# #> [CmdletBinding()] PARAM( [parameter(Position = 0)] [String]$SERVERADDRESS = "127.0.0.1", [parameter(Position = 1)] [String]$PATH = "Kaspersky Network Agent.msi", [String]$Tags = "KLNagGPO" )#PARAM Begin { } Process { $windowsInstaller = New-Object -ComObject WindowsInstaller.Installer function Set-MSIProperty { Param ( [string] $Property, [string] $Value ) try { $QueryView = "SELECT Value FROM Property WHERE Property = '$Property'" $View = $MSIDatabase.GetType().InvokeMember( "OpenView", "InvokeMethod", $Null, $MSIDatabase, ($QueryView) ) $View.GetType().InvokeMember("Execute", "InvokeMethod", $Null, $View, $Null) $Record = $View.GetType().InvokeMember("Fetch", "InvokeMethod", $null, $View, $null) [System.Runtime.Interopservices.Marshal]::ReleaseComObject($View) | Out-Null if ([string]::IsNullOrEmpty($Record)) { $QuerySet = "INSERT INTO ``Property`` (``Property``,``Value``) VALUES ('$Property', '$Value')" } else { [System.Runtime.Interopservices.Marshal]::ReleaseComObject($Record) | Out-Null $QuerySet = "UPDATE Property SET Value = '$Value' WHERE Property = '$Property'" } $View = $MSIDatabase.GetType().InvokeMember( "OpenView", "InvokeMethod", $Null, $MSIDatabase, ($QuerySet) ) $View.GetType().InvokeMember("Execute", "InvokeMethod", $Null, $View, $Null) $View.GetType().InvokeMember("Close", "InvokeMethod", $Null, $View, $Null) [System.Runtime.Interopservices.Marshal]::ReleaseComObject($View) | Out-Null } catch { Write-Warning -Message "Set-MSIProperty" Write-Warning -Message $_ Write-Warning -Message $_.ScriptStackTrace } } try { $MSIDatabase = $windowsInstaller.OpenDatabase($(Get-ChildItem $PATH).FullName, 1) <# # LIMITUI = 1 # EULA = 1 # SERVERADDRESS = 127.0.0.1 # DONT_USE_ANSWER_FILE = 1 # NAGENTTAGS = KLNagGPO #> Set-MSIProperty "EULA" "1" Set-MSIProperty "LIMITUI" "1" Set-MSIProperty "DONT_USE_ANSWER_FILE" "1" Set-MSIProperty "SERVERADDRESS" $SERVERADDRESS Set-MSIProperty "NAGENTTAGS" $Tags $MSIDatabase.GetType().InvokeMember("Commit", "InvokeMethod", $Null, $MSIDatabase, $Null) [System.Runtime.Interopservices.Marshal]::ReleaseComObject($MSIDatabase) | Out-Null } catch { Write-Error "Error!!!" } [System.Runtime.Interopservices.Marshal]::ReleaseComObject($WindowsInstaller) | Out-Null [System.GC]::Collect() } End { }
-
1
-
-
Добрый день!
Как писал ранее эта проблема решается созданием ссылки
ln -sf /var/opt/kaspersky/kesl/common/kesl.ini /opt/kaspersky/kesl/shared/init/kesl.ini
Возможно у пользователя нет разрешений на чтение этого файла. В этом случае нужно выполнить команду
chmod a+r /var/opt/kaspersky/kesl/common/kesl.ini -
Добрый день!
Самым простым способом будет инициировать самоисправление KES.
$KSCExportList = @" Сюда пишим имена компьютеров hostname1 hostname2 ... hostnameN "@.Trim().Split("`n").Trim() $KSCExportList | %{ Invoke-Command -ComputerName $_ -ScriptBlock { $UninstallList = (Get-Item HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall -ErrorAction SilentlyContinue).GetSubKeyNames() $UninstallList += (Get-Item HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall -ErrorAction SilentlyContinue).GetSubKeyNames() $KESW_vers = ( "{9A017278-F7F4-4DF9-A482-0B97B70DD7ED}", #"11.2" "{192DE1DE-0D74-4077-BC2E-A5547927A052}", #"11.3" "{AF1904E7-A94C-4F4C-B3B7-EC54D7429DA2}", #"11.4" "{7B437856-99E3-4F01-B31C-B5A26465C633}", #"11.5" "{7EC66A9F-0A49-4DC0-A9E8-460333EA8013}", #"11.6" "{F4ECE08F-50E9-44E2-A2F3-2F3C8DDF8E16}", #"11.7" "{1F39E63E-3F9C-4E21-928B-136C6362E88B}", #"11.8" "{6BB76C8F-365E-4345-83ED-6D7AD612AF76}", #"11.9" "{305A9EC9-294E-4555-A7C5-E1C767E01C11}", #"11.10" "{BF39B547-8E24-4E11-8179-183B2F7C83EB}", #"11.11" "{E70CCFE8-163C-4E2B-BC36-61B747DAD590}" #"12.0" ) $KESW_Installed = (Compare-Object $UninstallList $KESW_vers -IncludeEqual -ExcludeDifferent).InputObject $ExitCode = (Start-Process -FilePath "msiexec.exe" -ArgumentList "/i $KESW_Installed REINSTALL=ALL REINSTALLMODE=amus EULA=1 PRIVACYPOLICY=1 SKIPREBOOTPENDING=1 /lv*x c:\windows\KESW_reinstall.txt /qn" -Wait -PassThru) "ExitCode = $ExitCode" | Out-File C:\Windows\KESW_reinstall.txt #set-ItemProperty HKLM:\SOFTWARE\WOW6432Node\KasperskyLab\protected\KES.21.8\Data\ -Name NeedReboot -Value 1 #set-ItemProperty HKLM:\SOFTWARE\WOW6432Node\KasperskyLab\protected\KES.21.8\Data\ -Name NeedForcedReboot -Value 1 } -AsJob -jobname JobKSC-$_ }
-
Добрый день!
Попробуйте переписать функцию с использованием функции GetOpenFileName из comdlg32.dll.
Пример кода: https://stackoverflow.com/a/68712025 -
Добрый день!
С этой ошибкой рекомендую открыть обращение в техническую поддержку головной организации.
Как временное решение.
Создание временной ссылки на файл kesl.ini
ln -sf /var/opt/kaspersky/kesl/common/kesl.ini /opt/kaspersky/kesl/shared/init/kesl.ini
-
2
-
Восстановление подключения агента к серверу управления
in Советы и решения по Kaspersky Security Center
Posted
Скрипт:
Групповые политики:
Копирование файла на клиентские ПК:
Создание задачи запуска скрипта:
Указание целевого сервера администрирования: