Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWünsch Dir wasWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst PowerShell AD Struktur als Array ohne OU-Wert

Mitglied: Nagus

Nagus (Level 2) - Jetzt verbinden

01.11.2019, aktualisiert 15:17 Uhr, 1017 Aufrufe, 10 Kommentare

Hi zusammen,

ich habe ein Script was eigentlich fast funktioniert, aber ich stolpere über einen Punkt und weiß nicht recht wie ich den lösen soll.
Wir erhalten die User, welche jeden Monat das Unternehmen verlassen, als Liste. Diese sollen in eine OU verschoben werden. Die Definition erfolgt mit
Als Ergebnis habe ich das Array:
Wenn ich bei
die Zahl 11 für November eingebe, erhalte ich das folgende Ergebnis:
Im nächsten Schritt soll das Script eine Textdatei einlesen, in der die User gespeichert sind und diese dann einzeln verschieben. Allerdings erhalte ich diese Ausgabe und komme hier nicht so recht weiter ....
Aufruf
Antwort
Erhalten möchte ich aber aber für $MoveUserListe nur den Wert C:\Scripte\Powershell\Austritte_11 - November.txt
Was mache ich falsch? Wie kann ich das ändern?
Thx
Nagus
PS: ein wirklich gescheiter Titel für meine Frage ist mir nicht eingefallen ...
Mitglied: emeriks
01.11.2019 um 15:40 Uhr
Hi,
$OU_Monate mit "e" am Ende!

E.
Bitte warten ..
Mitglied: mayho33
01.11.2019 um 19:18 Uhr
Zitat von emeriks:

Hi,
$OU_Monate mit "e" am Ende!

E.

Intelligence ist nicht sein Freund

Nutze die ISE @Nagus. Dann passieren solche Fehler nicht.
Bitte warten ..
Mitglied: emeriks
LÖSUNG 01.11.2019, aktualisiert um 22:39 Uhr
Zitat von mayho33:
Intelligence ist nicht sein Freund
???
Solltest Du Intelligenz meinen, dann suche doch schon mal Deinen Besen. Denn ..
Nutze die ISE @Nagus. Dann passieren solche Fehler nicht
..., nein, ganz sicher nicht. Warum auch?

Aber sicherlich meinst Du Intellisense?
Bitte warten ..
Mitglied: mayho33
01.11.2019 um 23:41 Uhr
Zitat von emeriks:

Zitat von mayho33:
Intelligence ist nicht sein Freund
???
Solltest Du Intelligenz meinen, dann suche doch schon mal Deinen Besen. Denn ..
Nutze die ISE @Nagus. Dann passieren solche Fehler nicht
..., nein, ganz sicher nicht. Warum auch?

Aber sicherlich meinst Du Intellisense?

Eigentlich meinte ich Intellisence, aber die automatische Korrektur auf dem mobile wusste es wieder mal besser
Bitte warten ..
Mitglied: Nagus
02.11.2019 um 03:01 Uhr
Danke für die Lösung - ich habe es nicht gesehen - und ich nutze die ISE!
Es ist immer einfach zu lästern, die Leute die einem helfen sind mir deswegen lieber!
Thx emeriks
Bitte warten ..
Mitglied: mayho33
02.11.2019 um 11:16 Uhr
Zitat von Nagus:

Danke für die Lösung - ich habe es nicht gesehen - und ich nutze die ISE!
Es ist immer einfach zu lästern, die Leute die einem helfen sind mir deswegen lieber!
Thx emeriks

Wer hat den gelästert? Naja! Vielleicht doch ein wenig! liegt eventuell daran, dass meine Kollegen ständig mit dem gleichen Problem zu mir kommen. Die Scripten in in irgendeinem Editor und wundern sich dann, wenn sie den Fehler nicht finden.

Sorry dafür!
Bitte warten ..
Mitglied: 141575
02.11.2019, aktualisiert um 16:27 Uhr
Hi,
dein Skript weist mehrere gravierende Fehler auf dir dir zum Verhängnis werden können.

Fangen wir an :

$OU_Monate = Get-ADOrganizationalUnit -Filter '*' -SearchBase "OU=Mitarbeiter_Ausgetreten,OU=XYZ,DC=DOMAIN,DC=LÄNDERKÜRZEL" -SearchScope OneLevel | select @{l='OU';e={$_.DistinguishedName.split(',')[0].split('=')[1]}}
Fehler hier: du splitest den CN der OU anhand des Kommas. Das ist falsch, denn ein OU Namen kann regulär ein Komma enthalten! Sollte also eine OU ein Komma im Namen haben was völlig legitim ist fällt dir das auf die Fresse.
Außerdem ist das ganze Gebilde völlig überflüssig, da du ganz einfach an den Namen über die Property "Name" kommst
Wenn man den Namen unbedingt aus dem DN extrahieren wollte könnte man das z.B. über Regex tun:
Dann zum nächsten
$OU_Monate -match "$select"
Das hier zeigt zwar deine Auswahl am Bildschirm an, die Auswahl wird aber nirgendwo gespeichert. $OU_Monate bleibt also ein ungefiltertes Array als ganzes.
Außerdem wird dir das falsche Ergebnisse liefern wenn du z.B. eine 1 ohne eine führende Null in der Eingabe eingibst dann matcht das (-match ist ja Regex!) außer dem
  • 01 - Januar
unter anderem auch diese
  • 10 - Oktober
  • 11 - November
  • 12 - November
Richtiger wäre hier also bspw.
Da kann man echt nur hoffen das du das nicht schon produktiv irgendwo einsetzt ...

CW
Bitte warten ..
Mitglied: Nagus
04.11.2019 um 10:55 Uhr
Guten Morgen Chickenwing,
vielen Dank für Deine ausführliche und etwas niederschmetternde Rückmeldung.
Produktiv war bis jetzt immer nur ein Einzeiler, der das pro Monat erledigt hat und nicht von mir war. Da ich das als gute Gelegenheit gesehen habe, mich mal ein wenig mit PS auseinanderzusetzen habe ich das versucht generischer umzusetzen.

Allerdings bin ich bei dem Teil verloren:
Was bewirkt das Fragezeichen nach der Pipe?
Was bewirkt das Prozent Zeichen nach der Pipe?
Beim padleft nimmst Du soweit ich das verstanden habe die ersten beiden Zeichen von Links zum vergleichen.
Was passiert hier? Test-Path $liste

Thx
Nagus
Bitte warten ..
Mitglied: 141575
LÖSUNG 04.11.2019, aktualisiert um 11:21 Uhr
Zitat von Nagus:
Allerdings bin ich bei dem Teil verloren:
Was bewirkt das Fragezeichen nach der Pipe?
Das ist ein Alias für ein Where-Object, es prüft also die Bedingung innerhalb der {} und filtert entsprechende Objekte aus der Pipeline heraus die der Bedingung entsprechen.
Was bewirkt das Prozent Zeichen nach der Pipe?
Das ist ein Alias für ein Foreach-Object, verarbeitet alle Objekte der Pipeline die vorher mit dem Where-Object (?{}) herausgefiltert wurden.
Beim padleft nimmst Du soweit ich das verstanden habe die ersten beiden Zeichen von Links zum vergleichen.
Das Padleft bewirkt das einstellige Eingaben des Users immer mit einer führenden 0 ergänzt werden. Eingaben mit 2 Zeichen werden damit nicht geändert da sie schon zweistellig sind, nur eben 1-9 werden jeweils um eine 0 ergänzt damit der Vergleich korrekt ist.
Was passiert hier? Test-Path $liste
Das prüft ob die Datei überhaupt im jeweiligen Pfad existiert. Würde sie das nicht würde das Auslesen des Pfades ja zu einer Fehlermeldung führen.
Bitte warten ..
Mitglied: Nagus
05.11.2019 um 20:12 Uhr
Vielen Dank! Verstanden und jetzt klappt das wie es soll!
Bitte warten ..
Ähnliche Inhalte
Exchange Server
OU Struktur aufbau neuer Domäne
Frage von 77282Exchange Server3 Kommentare

Hallo zusammen, mich würde mal interessieren, wie man den eine "Perfekte" OU-Struktur aufbaut. In meinem Beispiel hat eine Firma ...

Batch & Shell

PowerShell GUI bestimmten Wert aus Array auswählen und bearbeiten

gelöst Frage von SYNTAX1001Batch & Shell1 Kommentar

Hallo Zusammen, ich baue derzeit eine PowerShell GUI um bestimmte Attribute eines AD-Users zu verändern. Mein Problem ist, dass ...

Batch & Shell

Powershell Skript Exclude OU

gelöst Frage von xbast1xBatch & Shell1 Kommentar

Hallo zusammen, an sich sicher eine simple Sache, nur kriege ich es absolut nicht hin. Das Skript durchsucht die ...

Windows Server

Powershell - AD-Export bestimmter OU bzw. User und Attributen auslesen

gelöst Frage von oliver12Windows Server4 Kommentare

Hallo zusammen, ich benötige ein AD-Export bestimmter OUs mit den darin liegenden Usern und bestimmter Attributen. Mit finde ich ...

Neue Wissensbeiträge
Microsoft
SMB Compression: Deflate your IO
Ticker von Dani vor 2 TagenMicrosoft

Hi folks, Ned Pyle guest-posting today about SMB Compression, a long-awaited option coming to Windows, Windows Server, and Azure. ...

Virtualisierung

Citrix end of availability (EOA) of perpetual licenses for the on-prem Workspace products

Ticker von Dani vor 2 TagenVirtualisierung

Moin, der nächste Marktführer steigt von Kaufen auf Mietzwang um :-( What did Citrix announce on July 1, 2020? ...

Festplatten, SSD, Raid
Stop Error 0x0000007B (INACCESSIBLE BOOT DEVICE)
Anleitung von evinben vor 2 TagenFestplatten, SSD, Raid

Systemstand Windows 7, 64-Bit, einschließlich allen Updates bis 10.09.2020 DELL Latitude E6330 PCI-Bus IRQ-Kanal 19: Standard AHCI 1.0 Serieller-ATA-Controller IRQ-Kanal ...

Sicherheit
NSA: UEFI und Secure Boot einsetzen
Ticker von sabines vor 3 TagenSicherheit3 Kommentare

Hilfreicher Heise Artikel zu UEFI und Secure Boot Tipps der NSA Näheres hier: NSA Bericht

Heiß diskutierte Inhalte
Windows 10
Einige Webseiten lassen sich nicht mehr aufrufen
Frage von JobbiWindows 108 Kommentare

Hallo Zusammen, kurze Info zum Aufbau: 4 Server 2019, 6 PC´s; Server: 1x DC;DNS; 1x File, 1x TS, 1x ...

Windows Server
AD Userkennwörter per Mail versenden
Frage von xoxoonexWindows Server8 Kommentare

Guten Tag Admins, ich suche eine Möglichkeit welche anhand einer CSV in welcher die Anmeldedaten + Mail und weitere ...

Sicherheit
Offener Port ohne Dienst IT-Sicherheit
gelöst Frage von decehakanSicherheit8 Kommentare

Hallo Zusammen, für die Zertifisierung von Webapplikation öffne ich in drei Monat Rythmus den Port 443/80 ,dabei läuft die ...

Netzwerkmanagement
WLAN Drucker überall erreichbar machen + UPgrade auf 10GBASE-T
gelöst Frage von daswinimramNetzwerkmanagement7 Kommentare

Hallo Admins und alle anderen mit Nerven aus Stahl! :) folgende IST Situation : FRAGEN : 1.) -> ich ...

Administrator Magazin
09 | 2020 Ein Internetauftritt ist für Firmen heute eine Selbstverständlichkeit, doch gilt es beim Betrieb der entsprechenden Server einiges zu beachten. Im September beleuchtet das IT-Administrator Magazin deshalb das Schwerpunktthema "Webdienste und -server". Darin lesen Sie unter anderem, wie Sie Webapplikationen sinnvoll überwachen und welche Open-Source-Managementtools ...
Best VPN