Jump to content

BOfH_666

Expert Member
  • Gesamte Inhalte

    2.083
  • Registriert seit

  • Letzter Besuch

Alle erstellten Inhalte von BOfH_666

  1. Achso? ... dann mach ich das bisher immer falsch, wenn ich sicher gehen wollte, dass zwei Strings wirklich gleich sind!?
  2. Das hier ist primär ein Forum für IT-Profis. Es wird also erwartet, dass Du auch selbst aktiv wirst. Wir werden hier also nicht jede noch so kleine Änderung am Code ausführlich kommentieren, damit Du ein besseres Gefühl dabei hast - noch dazu, wo Du ja sowieso kein Interesse an IT hast .... Gibt es einen Grund, den Quellen, die Du für Deine Recherchen benutzt hast, zu misstrauen? Wenn Du Dir unsicher bist, schnappst Du Dir ein Test-Verzeichnis mit Test-Dateien und testest damit. Wenn die Tests erfolgreich waren und Du Dir dann sicher bist, dass es so funktioniert, wie gewünscht, überträgst Du das Ganze in Deine Produktiv-Umgebung - fertig. Wir machen das auch nicht anders. Übrigens - ein funktionierendes Backup der Daten sollte man im Zweifel sowieso immer bereit haben. Kein Backup - Kein Pardon.
  3. Lass sie doch einfach mal weg und beobachte den Unterschied.
  4. Nee ... offenbar nicht klar ... der Kollege meinte den Filter im Get-CimInstance Aufruf ... Get-CimInstance win32_group -Filter "SID='S-1-5-21-<Domain-ID>-513'" ... was bei mir übrigens auch funktioniert ... genau wie der Befehl mit Where-Object.
  5. 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 ...
  6. Ist bei mir auch so ...
  7. 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 "\".
  8. Ist denn das eigentlich von Dir erwartete Ergebnis dabei?
  9. 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.
  10. 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.
  11. Ah ... na dann ... https://docs.microsoft.com/en-us/powershell/module/grouppolicy/import-gpo?view=windowsserver2022-ps oder? Im Zweifel immer das andere ...
  12. 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
  13. ahhh .... das Thema mit den Zitronenfaltern, oder?
  14. 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?
  15. ... 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ß.
  16. .... und wenn der Preis ein starkes Kriterium ist, machens vielleicht auch einfach 10 Raspberry Pi's.
  17. Hmmm ... denkst Du wirklich, dass das eine gute Lösung für Anwender ist, die so charakterisiert werden?
  18. 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.
  19. 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?
  20. 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
  21. Ja. Was ist denn dabei für Dich verwirrend? Ist doch alles ziemlich gerade aus ....
  22. Es sollte genügen, einfach in der Konsole die folgenden Befehle auszuführen: Install-Module ExchangeOnlineManagement Install-Module AzureAD Install-Module MSOnline
  23. 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
  24. Lass doch mal bitte das Write-Host weg und teste es mit einem (oder mehreren) Test-User.
  25. 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)" } }
×
×
  • Neu erstellen...