Jump to content

Power Shell: Anzahl User pro OU in eine Textdatei exportieren


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Hallo zusammen,

 

sammle aktuell meine ersten Erfahrungen mit Power Shell. Möchte die Anzahl der User pro OU über ein Script darstellen. Habe folgendes gemacht:

 

Get-ADUser -Filter * -SearchBase "OU=???,OU=???,DC=???,DC=???,DC=???,DC=???").Count

 

 

Bekomme mit oben genanntem Befehl eine Zahl für die User in der OU angezeigt. Möchte nun die Zahl die ausgegeben wird in eine Textdatei importieren. Da ich natürlich mehrere OUs habe soll in der Textdatei die jeweilige OU mit der Zahl der User angezeigt werden. Werde im I.net nicht fündig. Würde mich über eine rasche Hilfestellung von Eurer Seite freuen...

 

Dank  & Gruß

 

Link zu diesem Kommentar

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 ;)

Link zu diesem Kommentar

WOUW bin schwer begeistert !!! Bekomme nun in der PS die OU mit der jeweiligen Anzahl User angezeigt. Wie aber bekomme ich die Übersicht in eine Textdatei (möchte die Textdatei dann gerne per SMTP versenden) ? Vielleicht kannst du mir auch hier helfen? Muss halt von jetzt auf "vorgestern" das Ganze am Laufen haben - arbeite aber selber erst seit 2 Tagen mit der PS ;))

 

Dank & Gruß

Stephan

Link zu diesem Kommentar

Danke für die Hilfestellung. Werde das heute prüfen und Rückmeldung geben....



Hi,

Zwischenstand:

habe mir die Seite einmal angeschaut und mich am Bsp. Example1 gehalten. Bekomme folgenden Fehler:

 

Send-MailMessage : "System.Object[]" kann nicht in den Typ "System.String" konvertiert werden, der für den Parameter "Body"

erforderlich ist. Die angegebene Methode wird nicht unterstützt.

In Zeile:34 Zeichen:106

+ ... t "Test" -Body $colAverages

+ ~~~~~~~~~~~~

+ CategoryInfo : InvalidArgument: (:) [send-MailMessage], ParameterBindingException

+ FullyQualifiedErrorId : CannotConvertArgument,Microsoft.PowerShell.Commands.SendMailMessage

 

Denke hier können die Infos aus dem Array nicht verarbeitet werden. Führe gerade eine I.netrecherche durch....

Link zu diesem Kommentar

Puuhh....komme mit dem Lesen vom PS Buch gar nicht mehr hinterher ;) Habe folgendes eingeben:

 

send-mailmessage -to "User01 <meinvorname.meinnachname@firma.de>" -from "User02 <user02@example.com>" -subject "Test mail" -Body $colAverages | Out-String

 

bekomme folgende Meldung:

 

Send-MailMessage : "System.Object[]" kann nicht in den Typ "System.String" konvertiert werden, der für den Parameter "Body" erforderlich ist. Die angegebene Methode wird nicht unterstützt.

In Zeile:35 Zeichen:119

+ ... st mail" -Body $colAverages | Out-String

+ ~~~~~~~~~~~~

+ CategoryInfo : InvalidArgument: (:) [send-MailMessage], ParameterBindingException

+ FullyQualifiedErrorId : CannotConvertArgument,Microsoft.PowerShell.Commands.SendMailMessage

Link zu diesem Kommentar

Davor hatte ich mehr Erfolg:

send-mailmessage -from "User01 <user01@example.com>" -to "User02 <meinvorname.meinnachname@firma.de>" -subject "Sending the Attachment" -priority High -dno onSuccess, onFailure -smtpServer smtp.firma.de

 

Da bekam ich folgende (vielversprechende Meldung):

 

send-mailmessage : Postfach nicht verfügbar. Die Serverantwort war: 5.7.1 Client does not have permissions to send as this sender

In Zeile:37 Zeichen:1

+ send-mailmessage -from "User01 <user01@example.com>" -to "User02 meinvorname.meinnachname@firma.de>....

+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

+ CategoryInfo : InvalidOperation: (System.Net.Mail.SmtpClient:SmtpClient) [send-MailMessage], SmtpException

+ FullyQualifiedErrorId : SmtpException,Microsoft.PowerShell.Commands.SendMailMessage

 

 

Hier ist allerdings nicht der Body integriert...



Moment ;)



hmm sieht besser aus:

 

send-mailmessage : Postfach nicht verfügbar. Die Serverantwort war: 5.7.1 Client does not have permissions to send as this sender

In Zeile:39 Zeichen:1

+ send-mailmessage -to "User01  <meinvorname.meinnachname@firma.de>" -from "User02 <user02@exa ...

+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

+ CategoryInfo : InvalidOperation: (System.Net.Mail.SmtpClient:SmtpClient) [send-MailMessage], SmtpException

+ FullyQualifiedErrorId : SmtpException,Microsoft.PowerShell.Commands.SendMailMessage

 

Werde mal mit meinem Exchangler sprechen...gebe Rückinfo..



...wir haben die Permissions angepasst - es funzt !!! Muss allerdings optisch das Ganze noch aufbereiten:

 

OU=???                         200

OU=???                             100

 

Die Zahlen werden etwas "versetzt" ausgegeben - werde hier noch einmal recherchieren...mal ganz herzlichen für deinen Einsatz !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

 

Gruß 

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...