Jump to content

BOfH_666

Expert Member
  • Gesamte Inhalte

    2.035
  • Registriert seit

  • Letzter Besuch

Alle erstellten Inhalte von BOfH_666

  1. Auch auf die Gefahr hin, missverstanden zu werden oder als belehrend oder beleidigend oder nicht hilfsbereit dazustehen - hier nochmal abschließend meine 2 Cent: Auch wenn Du Dir die Aufgabe nicht ausgesucht hast und Du keine formale Ausbildung dafür erhalten hast, bist Du im Moment in Deiner Organisation der IT-Profi. Wenn Dein Chef sagt, dass Du Dich um die IT kümmern musst, dann bist Du ein IT-ler - ob Dir das gefällt oder nicht. Und als solcher erwartet man von Dir hier in diesem Forum ein gewisses Maß an Mitarbeit und Grundlagenkenntnissen. Und wenn ich Dich nicht falsch verstanden hatte, sieht es wohl danach aus, als müsstest Du diese Aufgabe noch ein wenig länger bewältigen. Da würden Dir dann ein paar Grundlagen und ganz speziell PowerShell-Kenntnisse, ne Menge Frust und sinnlos verschwendete Zeit ersparen. PowerShell ist ein sehr mächtiges Werkzeug, welches, wenn man es beherrscht, die mitunter lästige IT-Administration sehr erleichtert. Ohne diese Grundlagen wirst Du viele der Hilfen, die Du hier und auch wo anders im Netz bekommen kannst, einfach nicht verstehen. Und man kann eine komplexe Technologie wie eine moderne objekt-orientierte Script-Sprache nicht dadurch erlernen, ein paar Code-Schnipsel, die man im Internet gefunden hat, beliebig zusammenzustöpseln. Und es ist auch nicht möglich so etwas im Rahmen eines Forums zu erlernen. Last, but not least werden Dir in einem Forum keine gebrauchsfertigen Lösungen auf Anfrage erstellt. Die meisten von uns verdienen mit solchen oder ähnlichen Arbeiten ihr Geld. Wie würde es Dir gefallen, wenn das, wofür Du Dein Geld bekommst, jemand anders kostenlos abgibt und Dich damit arbeitslos macht? Ich hoffe, dass Du das verstehen kannst und Dir die Zeit nimmst, die Du brauchst, um Dir das Basis-Wissen für Deinen momentanen Job anzueignen. Im Zweifel solltest Du Deinen Chef darauf ansprechen, mindestens ein wenig Zeit eingeräumt zu bekommen, die Dir übertragenen Aufgaben vernünftig erledigen zu können. Und dazu gehört dann im Zweifel eben auch ein wenig Selbststudium.
  2. Wollen wir uns darauf einigen, dass es - wie fast immer - einfach mehrere Wege zum Ziel gibt? ... und jeder davon hat vermutlich Vor- und Nachteile ...
  3. Achso? ... dann mach ich das bisher immer falsch, wenn ich sicher gehen wollte, dass zwei Strings wirklich gleich sind!?
  4. 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.
  5. 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.
  6. 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 ...
  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
×
×
  • Neu erstellen...