Jump to content

BOfH_666

Expert Member
  • Gesamte Inhalte

    2.035
  • Registriert seit

  • Letzter Besuch

Alle erstellten Inhalte von BOfH_666

  1. Ich gehe davon aus, dass Du von einem Feature-Update sprichst ... Grob gesagt verschiebt das Setup die bisherige Installation komplett in einen versteckten Ordner und führt eine frische Image-Installation durch ... als wäre es eine Neu-Installation. Danach holt es aus der versteckten "Alt-Installation" alle Daten und Einstellungen raus und verwurstet sie in der frischen Installation. So steht die "Alt-Installation" auch noch für ein Roll-Back zur Verfügung.
  2. Wie schon geschrieben - wenn es Dir um eine Synchronisation geht, solltest Du Dir robocopy anschauen. Das ist speziell für diesen Zweck entwickelt worden. Ein aufwändiges/potenziell fehleranfälliges Script ist dafür nicht nötig. Davon unabhängig - wenn Du die Ergebnis-Objekte filtern möchtest, kannst Du Where-Object verwenden: $Folder1Path = 'C:\test1' $Folder2Path = 'C:\test2' $Folder1Files = Get-childitem -Path $Folder1Path -Recurse $Folder2Files = Get-childitem -Path $Folder2Path -Recurse Compare-Object -ReferenceObject $Folder1Files -DifferenceObject $Folder2Files | Where-Object -Property SideIndicator -EQ -Value '<=' | ForEach-Object { Copy-Item -Path $_.InputObject.FullName -Destination $Folder2Path }
  3. Dafür ist robocopy hervorragend geeignet. Ja. Get-ChildItem liefert standardmäßig nur die Dateien und Ordner im angegebenen Pfad. Wenn Du Unterordner einschließen möchtest, musst Du den Parameter -Recurse angeben.
  4. Hallo Schepper. Willkommen im MCSEBoard. Was willst Du denn eigentlich erreichen? Möchtest Du die beiden Verzeichnisse synchronisieren? Dafür kann man robocopy benutzen. Wenn Du mit Compare-Object den Namen und das Erstellungsdatum vergleichen möchtest, solltest Du im Parameter -Property die Attribute angeben die Du vergleichen möchtest - also Name und CreationTime
  5. Dann versuch mal den Parameter -Encoding UTF8 für deinen CSV Export. Damit sieht es meistens besser aus. .... und dazu bist Du nicht fündig geworden? Wonach hast Du denn da gesucht?
  6. Was verstehst Du darunter? Wenn Du damit meinst, ob man die Umlaute gegen die entsprechende Buchstabenkombination ohne Umlaute ersetzen kann .... ja, klar ... geht.
  7. Definiere "klein"! In D sind wir ca 8.500.
  8. ... so machen wir's ... sAMAccountname - 1.Buchstabe vom Vornamen + den gesamten Nachnamen. Wenn das nicht eindeutig ist, werden weitere Buchstaben vom Vornamen hinzugefügt. Wenn das auch nicht eindeutig ist (Wir haben 3 Andreas Müller in der Firma), wird einfach eine Zahl an den ersten Buchstaben angehängt. Also der 1. Andreas Müller hat AMueller und der zweite hat A1Mueller. UPN - ... wird der Email-Adresse angeglichen. Email - Hier hat dann der erste Andreas Müller Andreas.Mueller@Firma.com und der zweite Andreas1.Mueller@Firma.com.
  9. In einem strandard-konformen CSV ist das kein Problem, weil das Komma, welches in der Beschreibung auftaucht zwischen Gänsefüßchen eingeschlossen wird.
  10. ... und weil die so klein sind, reicht einen Pils für alle!?!?
  11. Du darfst gern das ein oder andere selbst herausfinden und Dir anlesen. Es ist nicht möglich, Dir hier im Rahmen eines Forums die Grundlagen von Scripting im Allgemeinen, bzw. von PowerShell im Speziellen beizubringen. Das meinte ich mit "Wir erwarten hier eigentlich, dass Du als Erstes einen eigenen Versuch unternimmst, eine gestellte Aufgabe zu lösen." Nur in den seltensten Fällen, bist Du mit einer gestellten Aufgabe wirklich der Erste. Es gibt fast immer jemanden, der die Aufgabe schon gelöst hat und das auch geteilt hat. Es schadet also nicht, einfach mal seine favorisierte Suchmaschine zu nutzen, um sich über ein Thema schlau zu machen. $Heute = Get-Date if ($Heute.DayOfWeek.value__ -eq 0) { 'Heute ist Sonntag' } else { 'Heute ist kein Sonntag' }
  12. Dazu hatte ich Dir in meiner ersten Antwort geantwortet. Wie sollen wir Dir dabei helfen? Zum Löschen kann man in PowerShell Remove-Item benutzen.
  13. Wir erwarten hier eigentlich, dass Du als Erstes einen eigenen Versuch unternimmst, eine gestellte Aufgabe zu lösen. Erst wenn Du damit nicht weiterkommst, solltest Du andere um Hilfe bitten. Ein Windows-Feature zu installieren, sollte ja üblicherweise nur genau ein einziges Mal nötig sein. Das Gleiche würde ich für die Anlage eines entsprechenden Kontos annehmen. Das war die Idee. Unabhängig von allem vorher gesagten muss ich zugeben, dass ich keine Erfahrung mit dem Windows-Backup habe. Ich würde aber erwarten, dass das Backup auch ohne Script in der Lage ist, einem eingestellten Zeitplan entsprechend, ein Backup durchzuführen. Also quasi "Set it and forget it". Also Dein Enthusiasmus, PowerShell zu lernen, in allen Ehren, aber eventuell hast Du Dir einfach ein etwas unpassendes Projekt zum Üben ausgesucht. Hast Du denn noch konkrete Fragen, die hier in Scripting-Unterforum gehören?
  14. ... was nicht heißt, dass es gut ist, so wie es ist. Es ist also nicht von Dir, richtig? Hast Du den Autor schon gebeten, Dir bei den Anpassungen zu helfen? Ich würde empfehlen, das in ein separates Script auszulagern, welches auf dem Server "192.168.1.6" läuft. Wenn Du es von einem anderen Server aus startest, läuft der nötige Copy-Job über diesen Server und verursacht so unnötig Traffic. Das Gleiche gilt für den "Großvater-Job", um mal in Deiner Terminologie zu bleiben. Ich übergehe mal, dass Du Schritte im Script hast, die Du immer wieder machst, obwohl sie ein einziges Mal nötig wären. Zum Thema Sonntagsbackup: PowerShell arbeitet mit Objekten und Eigenschaften. Wenn Du mit $Datum = Get-Date das Datum des aktuellen Tages in der Variablen speicherst, kannst Du mit $Datum.DayOfWeek den Wochentag als Text ausgeben oder mit $Datum.DayOfWeek.value__ als Zahl. In einem Vergleich brauchst Du also nur ermitteln ob der aktuelle Tag "Sunday" ist oder eben "0", wenn Du es als Zahl ausgibst. Den aktuelle Tag des Monats bekommst Du dann ganz einfach mit $Datum.Day Wenn der "1" ist, ist es der Erste des Monats. Mit # disks auslesen, damit die Volumes ausgelesen werden können (Disks = interne + externe) $wbdisk = Get-WBDisk ermittelst Du ALLE Laufwerke und übernimmst diese mit # Volumes auslesen, damit diese gesichert werden können $wbvolume = Get-WBVolume -Disk $wbdisk # Volume der Policy hinzufügen (EFI Partition ausgeschlossen) Add-WBVolume -Policy $wbpolicy -Volume $wbvolume in Deine Backup-Policy. Wenn Du nur ausgewählte Laufwerke übernehmen möchtest, musst Du an dieser Stelle alle unerwünschten ausfiltern. Lass Dir einfach mal die Variable "$wbdisk" auf der Konsole ausgeben und filtere dann z.B. mit einem Where-Object die Laufwerke aus, die Du nicht sichern möchtest.
  15. Was dann im einfachsten Fall für PowerShell ungefähr so anfangen würde .... whoami /groups /fo csv | ConvertFrom-Csv -Delimiter ','
  16. Pöh ... ... wenn da VBS steht, halte ich mich raus. Wir haben 2021 - wer heute noch unbedingt mit VBS arbeiten möchte, ist selber schuld.
  17. Kein Grund, sich zu entschuldigen ... ... alles gut ... es ist und bleibt ja Deine Entscheidung. Dann kann ich Dir aber nicht weiterhelfen. Für mich steht bei dem ganzen GUI-Thema für PowerShell-Code regelmäßig der Aufwand in keinem akzeptablem Verhältnis zum Nutzen. Ich bastel mir maximal noch einigermaßen hübsch gemachte HTML-Seite als Ausgabe-Medium aber das war's dann. Vielleicht wartest Du einfach noch bis morgen, wenn die Kollegen hier aus dem WE wiederkommen, ist eventuell einer dabei, der Dir weiterhelfen kann.
  18. Darf ich fragen wozu? ... was soll dann damit passieren? Hast Du Out-GridView mal probiert?
  19. "Sich noch nie angemeldet zu haben" unterscheidet sich aber von "vor mehr als 90 Tagen zuletzt angemeldet zu haben" ... Einfach mal ne entsprechende Suche starten. Gerade für das Thema Active Directory mit PowerShell gibt es quasi kein Thema, was nicht schon mal irgendwo behandelt wurde https://morgantechspace.com/2016/05/find-ad-users-who-never-logged-on-using-powershell.html https://webactivedirectory.com/2017/10/09/find-users-never-logged-into-active-directory/ https://www.itprotoday.com/compute-engines/use-get-aduser-determine-who-has-never-logged
  20. Bei PrimalForms bin ich raus, aber wenn Du nur einen Account angezeigt bekommst, ist dieser eine Account wohl der einzige, der länger als 90 Tage nicht angemeldet war. Verändere doch die 90 einfach mal zu 10 oder 5 oder 2. Wenn ihr nicht alle auch am Wochenende arbeitet, sollten dann mehr Accounts ausgegeben werden. Wenn es Dir nur um eine "grafische" Ausgabe der Abfrageergebnisse geht, könntest Du auch Out-GridView benutzen.
  21. Hmmm ... das mag jetzt vielleicht patzig klingen, aber meine ernsthafte Empfehlung wäre, es zu akzeptieren und sich wichtigeren Themen zu widmen. Wie Du offenbar schon selbst bemerkt zu haben scheinst, bist Du nicht der Erste mit diesem Problem und MSFT ist offenbar nicht gewillt am Status Quo etwas zu ändern. https://www.reddit.com/r/Windows10/comments/gf6txn/comment/fpv9d1y/?utm_source=share&utm_medium=web2x&context=3 https://docs.microsoft.com/en-us/windows-hardware/customize/desktop/customize-the-taskbar
  22. Poste doch mal bitte Deinen Code! Vielleicht hast Du ja da einen Fehler drin.
  23. USMT schon probiert? https://docs.microsoft.com/en-us/windows/deployment/usmt/usmt-overview
  24. ... mir ist als einziges Szenario die Verteilung der SCCM-Paket-Quellen geläufig - die sind halt ziemlich statisch. Ansonsten bin ich bei Dir.
×
×
  • Neu erstellen...