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!

Recommended Posts

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 to comment

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 to comment

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 to comment

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 to comment

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 to comment

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 to comment
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...