Announcement

Collapse
No announcement yet.

Ausnahmen auch für User Profile Pfade mit Symantec Network Access Control

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

    Ausnahmen auch für User Profile Pfade mit Symantec Network Access Control

    Mit der Option "Symantec Network Access Control" können über Skripte auch Ausnahmen auf Ordner erstellt werden,
    die Symantec Endpoint Protection von Haus aus nicht unterstützt, z. B. den User Profile Pfad.

    Im folgenden Beispiel soll der Ordner C:\Users\...\AppData\Local\Lotus ausgenommen werden, denn hier liegen
    bei einer Lotus Notes Multi User Installation die Daten von Lotus Notes. Übrigens wird dies auch von IBM empfohlen:
    http://www-01.ibm.com/support/docvie...id=swg21407945

    Erstellen Sie eine neue Host-Integrity (Network Access Control Policy) und eine benutzerdefinierte Voraussetzung.

    snac1.jpg

    Prüfen Sie als nächstes, ob der Registrywert für eine Multi User Installation gesetzt ist. Sollte Lotus Notes als
    Single User installiert sein, können Sie die Ausnahmen auch ganz normal am Manager setzen.

    snac2.jpg

    Tragen Sie das Skript ein (siehe unten).

    snac3.jpg

    Parameter:

    snac4.jpg



    Code:
    On Error Resume Next
    
    Set WshShell = CreateObject("WScript.Shell")
    set objFSO = Createobject("Scripting.FileSystemObject")
    
    Const HKEY_LOCAL_MACHINE = &H80000002
    strComputer = "."
    PathToExclude="AppData\Local\Lotus"
    
    'Work out OS Type
    OsType = WshShell.RegRead("HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\PROCESSOR_ARCHITECTURE")
    Reg32Root="HKLM\SOFTWARE\Symantec\Symantec Endpoint Protection\AV\Exclusions\ScanningEngines\Directory\Client\"
    Reg64Root="HKLM\SOFTWARE\Wow6432Node\Symantec\Symantec Endpoint Protection\AV\Exclusions\ScanningEngines\Directory\Client\"
    If OsType = "x86" then
        RegRoot=Reg32Root
    elseif OsType = "AMD64" then
        RegRoot=Reg64Root
    End If
    
    
    Set objRegistry=GetObject("winmgmts:\\" & strComputer & "\root\default:StdRegProv")
    
    ' Getting all Users from registry
    strKeyPath = "SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList"
    objRegistry.EnumKey HKEY_LOCAL_MACHINE, strKeyPath, arrSubkeys
    
    ' Getting all existing excludes
    objRegistry.EnumKey HKEY_LOCAL_MACHINE, replace(RegRoot,"HKLM\",""), arrExludeSubkeys
    
    
    'Checking if existing exclude still necessary. Otherwise delete it.
    For Each objExcludeSubkey In arrExludeSubkeys
    
        strValueName = "DirectoryName"
        strSubPath = replace(RegRoot,"HKLM\","") & objExcludeSubkey
        'Getting exclude path
        objRegistry.GetExpandedStringValue HKEY_LOCAL_MACHINE,strSubPath,strValueName,excludePath
    
        ' If exclude folder does not exist -> delete
        If not objFSO.FolderExists(excludePath) Then
            objRegistry.DeleteKey HKEY_LOCAL_MACHINE, strSubPath
        end if
    next
    
    
    ' Creating new excludes
    For Each objSubkey In arrSubkeys
        strValueName = "ProfileImagePath"
        strSubPath = strKeyPath & "\" & objSubkey
        objRegistry.GetExpandedStringValue HKEY_LOCAL_MACHINE,strSubPath,strValueName,strValue
    
        FullPath=strValue & "\" & PathToExclude & "\"
    
        If objFSO.FolderExists(FullPath) Then
    
            flag=false
            'Checking if exclude already exists
            For Each objExcludeSubkey In arrExludeSubkeys
    
                strValueName = "DirectoryName"
                strSubPath = replace(RegRoot,"HKLM\","") & objExcludeSubkey
                'Getting exclude path
                objRegistry.GetExpandedStringValue HKEY_LOCAL_MACHINE,strSubPath,strValueName,excludePath
                if excludePath=FullPath then
                    flag=true
                    Exit For
                end if
            next
    
            'If exclude not exists create new one
            if not flag then
    
                'Create Random Registry Root
        
                RndMax="3999999999"
                RndMin="1111111111"
                Randomize
                RndRegRoot=Int((RndMax-RndMin+1)*Rnd+RndMin)
    
                'Write Registry Keys
    
                WshShell.RegWrite RegRoot & RndRegRoot & "\DirectoryName",FullPath,"REG_SZ"
                WshShell.RegWrite RegRoot & RndRegRoot & "\ExcludeSubDirs",1,"REG_DWORD"
                WshShell.RegWrite RegRoot & RndRegRoot & "\ExtensionList","","REG_SZ"
                WshShell.RegWrite RegRoot & RndRegRoot & "\FirstAction",17,"REG_DWORD"
                WshShell.RegWrite RegRoot & RndRegRoot & "\Owner",4,"REG_DWORD"
                WshShell.RegWrite RegRoot & RndRegRoot & "\ProtectionTechnology",1,"REG_DWORD"
                WshShell.RegWrite RegRoot & RndRegRoot & "\SecondAction",17,"REG_DWORD"
                WshShell.RegWrite RegRoot & RndRegRoot & "\ThreatName",FullPath,"REG_SZ"
            end if
    
        Else
                    'Path doesn't exist, do nothing
        End If
    Next
    Last edited by uspange; 26.11.2013, 14:03.
Working...
X