Jump to content

BOfH_666

Expert Member
  • Gesamte Inhalte

    2.101
  • Registriert seit

  • Letzter Besuch

Alle erstellten Inhalte von BOfH_666

  1. Hast Du denn da auch eine Fehlermeldung bekommen? Und übrigens .... wenn da nicht noch mehr in Deinem Script ist, was Du uns nicht zeigen magst, kannst Du das hier ... .... weglassen. Und übermäßiges Kommentieren stört auch eher als es hilft: Jeder, der der englishen Sprache ansatzweise mächtig ist, sieht, dass Du hier ein Verzeichnis zuweist. ... und dass das ein Datum ist ...
  2. Ist bei mir auch so ...
  3. Der Variable $Exclude wird hier ein Regex-Pattern übergeben. Das Zeichen "\" (der Backslash) hat dabei eine besondere Bedeutung. Entweder Du findest ein Muster, wo Du den Backslash weglassen kannst oder Du must ihn "Escapen" ... also "\\" anstatt "\".
  4. Ist denn das eigentlich von Dir erwartete Ergebnis dabei?
  5. Wenn Du vor hast, noch eine Weile in der IT und dabei in Windows Infrastruktur-Umgebungen unterwegs zu sein, solltest Du dringend anfangen, Dich damit zu befassen. Es wird sich mit an Sicherheit grenzender Wahrscheinlichkeit für Dich lohnen. Hier mal was zum "Nach-Schmökern" https://github.com/PoshCode/PowerShellPracticeAndStyle#the-powershell-best-practices-and-style-guide Im Prinzip sollte das hier alles sein, was Du brauchst: $folder = 'S:\Archiv\ÖA\2000' $exclude = 'Art Berlin|Art Event' $date = Get-Date '01.01.2012' Get-ChildItem -Path $folder -Filter '*.xls?' -File -Recurse | Where-Object { ($_.LastWriteTime -lt $date) -and (($_.Fullname -notmatch $exclude)) } | Select-Object -ExpandProperty Fullname | Add-Content -Path 'S:\mylog_excel.txt' Wie Du sehen kannst, ist der Code so deutlich kompakter, ohne überlange Zeilen, ohne Symbole und Abkürzungen und hoffentlich auch für Laien leichter zu lesen.
  6. Tut er denn, was Du möchtest? Ich würde mindestens nach den Pipe-Symbolen Zeilenumbrüche einfügen und die Aliasse durch die kompletten cmdlets ersetzen.
  7. Ah ... na dann ... https://docs.microsoft.com/en-us/powershell/module/grouppolicy/import-gpo?view=windowsserver2022-ps oder? Im Zweifel immer das andere ...
  8. Na soo wahnsinnig aufwändig wird das nicht werden ... mit https://docs.microsoft.com/en-us/powershell/module/grouppolicy/backup-gpo?view=windowsserver2022-ps und https://docs.microsoft.com/en-us/powershell/module/grouppolicy/restore-gpo?view=windowsserver2022-ps sind das im Prinzip zwei Zeilen
  9. ahhh .... das Thema mit den Zitronenfaltern, oder?
  10. Was für ein nachlässig geschriebener PowerShell-Code .... "dir" ist ein PowerShell-Alias für Get-ChildItem. der Parameter -Directory teilt Get-ChildItem mit, dass es ausschließlich Verzeichnisse auflisten soll. Wenn Du auch Dateien angezeigt haben möchtest, musst Du den also weglassen. Haben wirklich einzelne Dateien separat gepflegte Berechtigungen?
  11. ... was ja aber nicht heißt, dass es wie von Zauberhand auf Zuruf funktioniert und es kein Fachwissen mehr braucht, um es einzurichten und zu betreuen. Und spätestens, wenn die Hardware im eigenen Serverraum eingerichtet ist und so lange sie ohne Fehler läuft, ist der Unterschied zwischen der Administration von Cloud-Ressourcen zu lokalen Ressourcen nicht sooo wahnsinnig groß.
  12. .... und wenn der Preis ein starkes Kriterium ist, machens vielleicht auch einfach 10 Raspberry Pi's.
  13. Hmmm ... denkst Du wirklich, dass das eine gute Lösung für Anwender ist, die so charakterisiert werden?
  14. Was verunsichert Dich denn daran? ... dass der Computer das macht, was Du ihm gesagt hast? ... wie schon gesagt, wird dieser Fall im "Regelbetrieb" ja kaum auftreten. Diese Einstellung ist eher für Jobs gedacht, die lange genug laufen, um sich quasi mit der nächsten Ausführung zu überlappen. Und dafür hat man dann zur Not noch die Optionen, zu lange laufende Jobs abzubrechen.
  15. Wenn Du die Aufgabe 1x monatlich ausführst, wie hoch ist die Wahrscheinlichkeit, dass sie noch vom letzten Monat ausgeführt wird, wenn sie für diesen Monat startet? ... wenn die Antwort "Nahezu null" ist, brauchst Du Dir über diese Einstellung ja kaum Gedanken machen, oder?
  16. Im Zweifel nachlesen oder googlen ... anders machen wir das auch nicht https://www.powershellgallery.com/packages?q=Tags%3A"ExchangeOnline"%2C"Management" https://docs.microsoft.com/en-us/powershell/exchange/exchange-online-powershell-v2?view=exchange-ps https://www.powershellgallery.com/packages/AzureAD https://www.powershellgallery.com/packages/MSOnline
  17. Ja. Was ist denn dabei für Dich verwirrend? Ist doch alles ziemlich gerade aus ....
  18. Es sollte genügen, einfach in der Konsole die folgenden Befehle auszuführen: Install-Module ExchangeOnlineManagement Install-Module AzureAD Install-Module MSOnline
  19. Und eben das zweifle ich nach wie vor an. Wenn Du Dir mal mit Get-Member die Eigenschaften dieser Property anschaust, wirst Du feststellen, dass es bereits ein String ist. $User = Get-ADUser -Identity 'IrgendEinADUser' -Properties Department $User.Department | Get-Member
  20. Lass doch mal bitte das Write-Host weg und teste es mit einem (oder mehreren) Test-User.
  21. Also bei mir funktioniert das hier : $users = Get-ADUser -SearchBase "OU=x,OU=y,DC=DOMAIN,DC=LOCAL" -Filter * -Properties Department foreach ($user in $users) { Set-ADUser -Identity $user.SamAccountName -Add @{extensionAttribute1 = "$($User.Department)" } }
  22. Was soll diese Zeile denn bewirken? Write-Host Set-ADUser -Identity $user.SamAccountName -Add @{extensionAttribute1="$String"} Ich würde das "Write-Host" an dieser Stelle entfernen.
  23. Warum? Und warum remote? Und warum machst Du es dann nicht einfach?
  24. Nein, Du musst keine Datei zwischenspeichern. ABER ... wenn Deine Input-Daten keine validen CSV-Daten sind, werden die Ergebnisse auch wieder fehlerhalft sein. Du musst also z.B. sicherstellen, dass jede Zeile die gleiche Anzahl an Feldern hat und dass, wenn Du ein Delimiterzeichen in einem Feld hast, dieses auch mit Gänsefüßchen umschlossen ist. Es genügt Deinen Input-Content in einer Variablen zu speichern und dann mit dieser weiterzuarbeiten ... so ungefähr ... $RawInput = @' Zeile 01 "Zeile 02 Zeile 03 Zeile 04 Zeile 05 Schmitz;Harald;Schmitz@zuHause.de;123456; ;Heiner;;234567; Müller;;Mueller@zuHause.de;; Maier;Susanne;;456789; '@ -split "\r\n" $WithoutFirst5Rows = $RawInput | Select-Object -Skip 5 $WithoutFirst5Rows | ConvertFrom-Csv -Header "Nachname", "Vorname", "Email", "PersonalNummer" -Delimiter ";"
  25. ... hatte ich aber doch schon ergänzt!? ... also zumindest vor Deiner Nachricht
×
×
  • Neu erstellen...