Jump to content
Sign in to follow this  
preee

MSX / AD - Powershell Script

Recommended Posts

Guten Morgen zusammen.

 

Ich habe hier bereits ein kleines Script:

 

Get-Mailbox -ResultSize Unlimited | where {$_.ArchiveDatabase -eq $null}  | select name | Export-csv C:\Scripte\Report\Users_without_archive.csv  

 

Dieses möchte ich erweitern und zwar sollen NUR Mailboxen ausgegeben werden die KEIN Online Archive haben. Kann mir hier jemand weiterhelfen?

 

Beste Grüße

Share this post


Link to post

Also ein Archivpostfach.

 

Das sollte deine Abfrage aber machen. Kann es gerade nicht testen.

Share this post


Link to post

Habe eben meine Testumgebung hochgefahren.

 

Probier mal folgendes:

Get-Mailbox -Archive -ResultSize Unlimited | select Name,Database,ArchiveName,Archivedatabase

 

Share this post


Link to post

Hi,

 

kann es jetzt nicht testen, aber ergänze mal:

 

... where { ($_.ArchiveDatabase -eq $null) -and ($_.RemoteRecipientType -notmatch "ProvisionArchive") }

Share this post


Link to post

Danke an alle, probiere es gleich aus.

geht leider nicht.

 

 Missing file specification after redirection operator.
 + CategoryInfo          : ParserError: (:) [], ParentContainsErrorRecordException
 + FullyQualifiedErrorId : MissingFileSpecification

Edited by preee

Share this post


Link to post
vor 37 Minuten schrieb tesso:

Habe eben meine Testumgebung hochgefahren.

 

Probier mal folgendes:


Get-Mailbox -Archive -ResultSize Unlimited | select Name,Database,ArchiveName,Archivedatabase

 

Da bekomme ich einfach nur die Postfächer MIT Archiv angezeigt. Möchte ja wissen, wer bisher noch keins hat.

Share this post


Link to post

Sorry. Ich hätte nicht nachfragen sollen:D

 

Deine Abfrage oben bringt doch alle Postfächer OHNE Archiv. Was geht daran nicht?

Ich habe es gerade in meiner Testumgebung nachvollzogen.

Edited by tesso
  • Like 1

Share this post


Link to post
vor 40 Minuten schrieb tesso:

Sorry. Ich hätte nicht nachfragen sollen:D

 

Deine Abfrage oben bringt doch alle Postfächer OHNE Archiv. Was geht daran nicht?

Ich habe es gerade in meiner Testumgebung nachvollzogen.

Ok jetzt hab ich gefailed :)

 

Also was ich vergessen habe zur erwähnen, ist. Es sollen nur die User aus der OU Users ausgegeben werden.

Share this post


Link to post
Get-Mailbox -ResultSize Unlimited -OrganizationalUnit users| where {$_.ArchiveDatabase -eq $null}

Allgemeiner

Get-Mailbox -ResultSize Unlimited -OrganizationalUnit "OU=Benutzer,OU=ek17lab,DC=ad,DC=ek17lab,DC=de"| where {$_.ArchiveDatabase -eq $null}

 

Share this post


Link to post
vor 24 Minuten schrieb tesso:

Get-Mailbox -ResultSize Unlimited -OrganizationalUnit users| where {$_.ArchiveDatabase -eq $null}

Allgemeiner


Get-Mailbox -ResultSize Unlimited -OrganizationalUnit "OU=Benutzer,OU=ek17lab,DC=ad,DC=ek17lab,DC=de"| where {$_.ArchiveDatabase -eq $null}

 

moment ich versuche es mal. Danke schon mal.

 

OK. Das war schon mal perfekt. Jetzt hab ich das problem, es gibt in jeder location "de, en, us, fr," usw... einen ordner User. Kann ich das irgendwie auf mit einem Wisch abfragen? Oder müsste ich jetzt das Script für jede Lokation anpassen?

 

Quasi so:

 

 

Get-Mailbox -ResultSize Unlimited -OrganizationalUnit "OU=Users,OU=[A-X][A-X][1,2],OU=EU,OU=Local,DC=DTC,DC=intern"| where {$_.ArchiveDatabase -eq $null} | select name | Export-csv C:\Scripte\Report\Users_without.csv

 

Die Lokationen unter EU bestehen immer aus 2 Buchstaben und 1 Zahl. Bsp: HN1, HH2, CN1 usw

 

Edited by preee

Share this post


Link to post

An dieser Stelle wäre ein wenig Powershell-Basis-Wissen hilfreich gewesen ... oder ein wenig Forschergeist ... dann kann man sowas auch selbst rauskriegen

$BasisOU = 'OU=EU,OU=Local,DC=DTC,DC=intern'
$CSVFile = 'C:\Scripte\Report\Users_without.csv'

$OUList = Get-ADOrganizationalUnit -Filter * -SearchBase $BasisOU -SearchScope OneLevel |
    ForEach-Object -Process {
        Get-ADOrganizationalUnit -Filter "Name -eq 'Users'" -SearchBase $_.DistinguishedName |
            Select-Object -Property DistinguishedName
    }

Foreach($OU in $OUList){
    Get-Mailbox -ResultSize Unlimited -OrganizationalUnit $OU | 
        Where-Object -FilterScript {$_.ArchiveDatabase -eq $null} | 
            Select-Object -Property Name | 
                Export-csv -Path $CSVFile -Delimiter ';' -Append -NoTypeInformation
}

 

Edited by BOfH_666

Share this post


Link to post

Vielleicht erklärst du gleich alles was du Abfragen willst. Diese Salamitaktik ist nicht mein Fall.

Share this post


Link to post
vor 35 Minuten schrieb tesso:

Vielleicht erklärst du gleich alles was du Abfragen willst. Diese Salamitaktik ist nicht mein Fall.

Moin, sorry diese Anforderung war mir zu dem Zeitpunkt leider nicht bekannt. Ich arbeite zum ersten mal mit Powershell in diesem Umfang. Sorry, unwissend halt..

 

Es sollen tatsächlich nur die User ohne Archive aus der OU "Users" (In allen Standorten) ausgegeben werden.

 

OU=Users,OU=[A-Z][A-Z][1,2],OU=EU,OU=LOCAL,DC=TW,DC=INT" <- AZ stellt in dem falle alle lokationen da, AA1,BB2,CC3 usw

 

 

Edited by preee

Share this post


Link to post
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte überlege Dir, ob es nicht sinnvoller ist ein neues Thema zu erstellen.

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.   Restore formatting

  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.

Sign in to follow this  

Werbepartner:



×
×
  • Create New...