Jump to content

mamamia

Members
  • Gesamte Inhalte

    312
  • Registriert seit

  • Letzter Besuch

Beiträge erstellt von mamamia

  1. Nabend,

     

    nee, da sind die Rahmenbedingungen immer zu unterschiedlich. Aber ich denke 6 Sekunden pro 100 Kontakte sind ein super Benchmark.

    Halt alles ohne Last, aber das iss okay.

    Aber gut, wenn das direkt auf der Maschine läuft, dann geht dann ist das eigentlich optimal.

     

    Wieviel importierst du denn insgesamt, wenn bei 3000 der Performanceeinbruch kommt?

     

    Was mir noch auffällt: du weißt oben die Werte deinen Variablen zu. Warum? Überspringe den Punkt und nimm direkte die Werte des Objektes:

    # Angezeigter Name
    $item.DisplayName = $contact.ADR_FIRMA

    Bei so vielen durchläufen macht sich das bestimmt bemerkbar.

    Zudem vermeidest du folgenden Fehler: wenn ein Wert von einem Datensatz nicht gefüllt ist, dann schreibt dein Script den Inhalt von dem letzten Datensatz in deinen Kontakt, was ja falsch wäre.

     

    Zudem durchläuft dein Script immer die if-Klausel. Nimm die auch ma raus.

     

    Dann zu den Notes. Leg mal einen Kontakt mit Notes an und ließ diese aus. Dann solltest du auch relativ schnell sehen, wie du diese Füllen kannst.

     

    Zudem gibt es noch das cmdlet New-MailContact (http://technet.microsoft.com/en-us/library/bb124519%28v=exchg.150%29.aspx), weiß aber nich, ob das in einen öffentlichen Ordner schreiben kann. Musst mal schauen.

     

    Schönen Abend noch!

  2. Das ist einfach.

     

    Schau dir das mal an und falls du Verständnisprobleme hast, einfach melden ;)

     

    $colAverages = @()
    $ou = @("OU=???,OU=???,DC=???,DC=???,DC=???,DC=???")
    
    $ou | % {
        $objAverage = New-Object System.Object
        $objAverage | Add-Member -type NoteProperty -name OU -value $_
        $objAverage | Add-Member -type NoteProperty -name Count -value (Get-ADUser -Filter * -SearchBase $_).count
        $colAverages += $objAverage
    }
    
    $colAverages

    Man erzeugt ein Array mit allen OU´s.

    In der Schleife wird ein CustomObject erzeugt, was die Objekte in ein 2tes Array bringt.

     

    Aufgabe für dich: $colAverages in eine Textdatei schreiben ;)

  3. So wird ein Schuh draus ;)

     

    [xml]$meinexml = get-content C:\ps\meinskript.xml
    
    $meinexml | ? {$_.thinclients.thinclient.settings.pclass.name -eq "x.drivers.currentdriver"} | % {
    
    	$_.thinclients.thinclient.tcname
    	$_.thinclients.thinclient.settings.pclass.pvalue.InnerText
    
    }
    

    Hier werden aber noch beide Werte von pvalue angezeigt, die Trennung ist in der xml nicht sauber.

  4. Schau dir mal Send-MailMessage (http://technet.microsoft.com/en-us/library/hh849925.aspx) an.

     

    Damit brauchst du es nicht mittels .Net Objekten instanzieren, sondern einfach per cmdlet nutzen.

     

    Dann packst du Send-MailMessage mit deinen Parametern in deine for und dann sollte es auch gehen.

     

    Zudem vermute ich in Zeile

    $MailMessage.Body = $Body

    den Fehler.

    Das muss mit unten in dein for

×
×
  • Neu erstellen...