Novell trustee_database.xml in CSV konvertieren

Mit diesem Powershell können Sie die Trustee XML des Microfocus Novell Enterprise Servers in eine lesbare Form überführen. Die Tiefe der expliziten Berechtigungen wird in der ersten Spalte angegeben.

Wir möchten darauf hinweisen, wenn Sie in Begriff sind, Ihren Microfocus/Novell Filer in die Microsoft Welt zu überführen, dass unbedingt einige Besonderheiten der Windows Welt berücksichtigt werden müssen.

Das Novell Microfocus Filesystem hat gegenüber dem Windows System einen entscheiden Vorteil. Es musste sich nur um die Rechte auf dem Berechtigungsendpunkt gekümmert werden. Das Filesystem hat selbständig nach dem Least-Privilege-Prinzip dafür gesorgt, dass der User zu diesem Verzeichnis browsen konnte. Dies ist unter Microsoft wesentlich umständlicher. Wenn man sauber Rechte setzen will, dann müssen auf dem kompletten Weg bis zu Berechtigungsendpunkt explizite Rechte für das Listing aufgebaut werden. Dies erzeugt ein Vielzahl von neuen notwendigen Gruppen und können schnell zu Problem werden.

Stark betroffen ist deswegen der Token-Count und der Token-Size Wert für die Kerberosanmeldung unter Windows.

Wir empfehlen deswegen

  1. Gehen Sie vor der Migration auf die Suche nach obsoleten Daten. Diese brauchen vermutlich gar nicht mehr übernommen werden. Vielleicht können sie gelöscht werden oder werden für den Notfall separiert.
  2. das Alter der Daten in der Migration zu berücksichtigen
    Es braucht keine expliziten Berechtigungen mehr auf Verzeichnissen, die ausschließlich alte Daten enthalten. Setzen Sie ein Tool wie migRaven ein, um die Berechtigungen und das Alter zu Analysieren und dann zu entscheiden.
    https://www.migraven.com/loesungen/analyse-daten/
  3. Jetzt können Sie die Struktur überdenken. Es lohnt sich die alten, gewachsenen Strukturen in Frage zu stellen. Wahrscheinlich können sie flacher aufgebaut werden. Das werden ihnen vor allem Ihren Kollegen danken, wenn sie kürzere Wege zu den Daten zurücklegen müssen. Das spart Zeit.

Falls Sie Unterstützung während der Migration brauchen, können wir Sie gern unterstützen. Es ist unser täglich Brot. Wir begleiten Migrationsprojekte rund um den Globus.

<#
Search for all .xml files in folder 
convert the files in CSV format
#>

$strParentPath = Split-Path -parent $MyInvocation.MyCommand.Definition

foreach($file in Get-ChildItem $strParentPath  | Where { $_.Extension -eq ".xml"})
{
    
    


    
    $strOutputPath = [string]::Concat($strParentPath, "\" + $file.BaseName + ".csv")
    Out-file $strOutputPath -Encoding utf8 -Force 
    write "Tiefe;Pfad;Recht;trustee;SAM" | Out-File $strOutputPath -Append utf8
    $strInputPath = [string]::Concat($strParentPath, "\" + $file.Name)
    $doc = [XML] (get-content -path $strInputPath )
    $paths = $doc.volume_trustees.trustee
    #$paths = $doc.volume_trustees.inherited_rights_mask 
    foreach ($path in $paths)
    {
        
        
        $strPattern = "\."
        $strPatternCN = "[\w]{1,}"
        $strName1 = $path.name.ToString()
  
        $arrResult = ([regex]::matches($strName1, $strPatternCN) | %{$_.value})
        $strPath = [string] $path.path.ToString()
        $strPath = $strPath -replace "/", "\"
        $arrFields = $strPath.split('\')
        $strCount = $arrFields.count -1
        $SAM = $strName1.Split(".")[1] 
       write-host $SAM
       
        $strRight = $path.rights.ToString()
        write "$strCount;$strPath;$strRight;$strName1;$SAM" | Out-File $strOutputPath -Append default  
    }
    $paths = $doc.volume_trustees.inherited_rights_mask 
# Filter auslesen in den Trustees
    foreach ($path in $paths)
    {
        
        
        $strPattern = "\."
        $strPatternCN = "[\w]{1,}"
        $strName1 = $path.name.ToString()
  
        $arrResult = ([regex]::matches($strName1, $strPatternCN) | %{$_.value})
        $strPath = [string] $path.path.ToString()
        $strPath = $strPath -replace "/", "\"
        $arrFields = $strPath.split('\')
        $strCount = $arrFields.count -1
        $SAM = $strName1.Split(".")[1] 
       write-host $strRight
       
        $strRight = $path.rights.ToString()
        write "$strCount;$strPath;-$strRight;$strName1;$SAM" | Out-File $strOutputPath -Append default  
    }

}   

Permanentlink zu diesem Beitrag: https://help.migraven.com/novell-trustee-database-xml-in-csv-konvertieren-migration-vorbereiten/

1 Ping

  1. […] Novell trustee_database.xml in CSV konvertieren […]

Schreibe einen Kommentar

Deine Email-Adresse wird nicht veröffentlicht.