Jump to content

BOfH_666

Expert Member
  • Gesamte Inhalte

    2.083
  • Registriert seit

  • Letzter Besuch

Alle erstellten Inhalte von BOfH_666

  1. Wir haben Ende 2019 ... wie lange wollen wir denn noch diese fruchtlose Diskussion führen? In weniger als 3 Monaten läuft der Support für Windows 7 aus. Und es wird wohl wenige Enterprise-Kunden geben, die jetzt noch auf Windows 8.1 migrieren. Also kommt nur Windows 10 in Frage - und das heißt Powershell 5.1.
  2. Kurze Antwort: Das ist soweit richtig.
  3. Sollte einfacher gehen ... (Get-Item -Path 'Voller Pfad zum Symlink' ).Target Probier ma!
  4. Ich bin mir ziemlich sicher, dass es hier auch Kollegen gibt, die sich mit dem Thema gut auskennen. Ein dediziertes WPF/XAML Forum kenn ich nicht, aber ich weiß, dass im deutschen und auch im englischen Microsoft Technet Powershell Forum gelegentlich danach gefragt wird und üblicherweise auch hilfreiche Antworten gegeben werden. StackOverflow ist auch immer eine gute Adresse. Bei allen Foren bitte - die Hinweise für Newbies lesen!
  5. Good catch ... ... sind die Laufwerkzuordnungen auch Registry-basiert? ... hab grad nix zum Nachgucken ... ... das fällt dann aber nicht mehr in die Kategorie "einfach" ... jedenfalls nach meiner Definition. 'n vernünftiges DNS ist da schon sehr hilfreich ...
  6. Ändern sich die Freigaben denn wieder? Warum nicht einmal einrichten und gut? OK, die Einrichtung ist dann einmal aufwändiger aber meines Wissens nach, gibt es keine einfache Möglichkeit, Gruppenrichtlinien per Script zu generieren.
  7. Per Gruppenrichtlinie ... klar ... dafür sind sie ja da. Entweder die organisierst die Zuordnung über die entsprechende OU oder über entsprechende Gruppen. Das ist dann aber kein Scripting-Thema mehr.
  8. Vermutlich hast Du aufgrund Deiner Erfahrung hier gleich zwischen den Zeilen gelesen ... ... dieses Gen fehlt mir wohl ...
  9. Wow! Das liest Du aus den Angaben oben heraus? Ich hatte nicht mal mitbekommen, dass es um User-Anlage ging. Ich dachte, es geht um's Auslesen aus dem AD.
  10. Wenn Du eine CSV-Datei einlesen möchtest, solltest Du das entsprechende cmdlet benutzen. Ich gehe mal davon aus, dass Deine CSV-Datei eine richtige CSV-Datei ist und einen Header hat, der mit sAMAccoutName benannt ist. Dann könnte Dein Code so aussehen: $UserList = Import-Csv -Path 'C:\Temp\SammelAccounts_Dispo.csv' $Result = foreach ($User in $UserList) { Get-ADUser -Identity $User.sAMAccountName -Properties whenChanged } $Result | Select-Object -Property sAMAccountName, whenChanged | Export-Csv -Path 'C:\Temp\USERS-ATTRIBUTES.csv' Sollte Deine CSV-Datei einen anderen Delimiter benutzen als das Komma, musst Du das natürlich noch ergänzen, z.B. -Delimiter ';' ... macht sich für deutsche Excel-Versionen immer gut, weil die dann das CSV gleich als Tabelle anzeigen und nicht erstmal als "Palin-Text". Ergänzung: Achso ... den Nachsatz mit der OU habe ich nicht verstanden. welchen Bezug zu welcher OU? Davon steht ja bisher gar nix in Deinem Code.
  11. Wow ... vielleicht beschreibst Du uns erstmal, was Du eigentlich erreichen möchtest. Ich vermute, dass Du Dir das Leben viel zu schwer machst. Viele Sachen sind in Powershell eingebaut ... es ist ja schließlich für Admins gemacht ... nicht für Programmierer. Ergänzung: Dein Code ist wahnsinning schwer zu lesen weil er schlecht formatiert und strukturiert ist. Du benutzt englische und deutsche Begriffe gemischt und Du benutzt Variablennamen in Einzahl obwohl es ein Array (eine Liste) ist. Ausserdem erzeugst Du viele Variablen, die nicht nötig sind. Deine geschachtelte Schleife würde ich z.B. so schreiben: foreach ($GroupName in $Groups.Name) { $GroupMemberList = Get-ADGroupMember -Identity $GroupName foreach ($Groupmember in $GroupMemberList.Name) { ## ... mehr Code } } Dann vergleichst Du Namen von Gruppenmitgliedern mit einer Zahl ... If($User1 -eq "$i") ... ich vermute mal, dass diese Bedingung nicht so häufig zutrifft, oder? Weiter ... $gefunden = "false" $defunden = "true" dafür solltest Du die eingebauten boolschen Variablen $true und $false verwenden. Damit kann Powershell gut umgehen und sie sind nicht so fehleranfällig wie String-Vergleiche und Du brauchst quasi auch keine Variablen dafür zu erzeugen.
  12. Wenn Du wieder an Land gepaddelt bist, fragst Du Deinen Chef nach einem "Schwimmkurs"!!
  13. Das macht Powershell für Dich, wenn Du nett drum bittest ... $NeuesArray = Compare-Object -ReferenceObject $Gruppe1Liste -DifferenceObject $Gruppe2Liste -Property Name | Where-Object {$_.SideIndicator -eq '=>'} Ich würde Dir empfehlen, Dir die Grundlagen von Powershell strukturiert anzueignen. Vielelicht mit einem guten Buch oder mit einem Online-Video-Tutorial oder wenn Dir Dein Chef ein Training bezahlt, am besten das ... Das kommentiere ich jetzt mal gar nicht ... wenn's funktioniert, ist das ja schön.
  14. Hmmm ... unabhängig davon, dass ich jetzt nicht weiß, ob hier noch eine Frage enthalten ist .... Wenn ich lese "Gruppe2 verbietet" ... Du weißt, dass eine nicht erteilte (Lese-)Berechtigung quasi einem "Verbot" gleichkommt, oder? Nach meiner Erfahrung erzeugen explizit vergebene Verweigern-Berechtigungen gerne mal ungewollte und schwer zu diagnostizierende Nebenwirkungen.
  15. Ben, Als Einstieg hier mal ein Code-Schnipsel, der Dir die Unterschiede der Mitglieder der Gruppen auflistet. Schau Dir die Ausgabe mal an, lies mal die Hilfe für Compare-Object und spiel ein bissl mit den Parametern .... z.B. tauschst Du mal RefenceObject gegen DifferenceObject oder Du hängst ein -IncludeEqual an und vergleichst die Ausgabe ... $Gruppe1Liste = Get-ADGroupMember -Identity 'Gruppe1' $Gruppe2Liste = Get-ADGroupMember -Identity 'Gruppe2' Compare-Object -ReferenceObject $Gruppe1Liste -DifferenceObject $Gruppe2Liste -Property Name
  16. Du bist im falschen Forum gelandet ... die Frage passt wohl eher ins Exchange Forum ... hier geht es um Scripting.
  17. Ich bin bei Dukel. Wenn Du sowieso schon was Neues baust, dann kannst Du auch gleich was Vernünftiges bauen. Alles ist besser als INI ... und mit Powershell einigermaßen vernünftig zu verarbeiten ... Registry, XML, JSON oder YAML ... und natürlich nicht zu vergessen PowershellDataFile.
  18. Sollen wir das Script für dich schreiben? Hast Du denn schon mal danach gesucht?
  19. @' "Name","Vorname","Kundennummer","PLZ","Ort" "Dukel","Foo","123456","1234","Musterort" "Ipfan","Bar","098765","5678","Musterhausen" '@ | ConvertFrom-Csv -Delimiter ',' | Select-Object -Property Name,Vorname,PLZ,Ort, @{Name = 'Kundennummer'; Expression = {'AA-'+ $_.Kundennummer}} ... und sowas reicht nicht aus?
  20. Vielleicht machst Du's Dir ein bissl einfacher, wenn Du das zu startende Script erstmal auf die jeweiligen Maschinen bringst (entsprechende Berechtigungen scheinen ja vorhanden zu sein), so dass Du es dann "lokal" starten kannst und kein CredSSP brauchst.
  21. Very beliebt ist auch das Modul ImportExcel von Doug Finke. ... damit brauchst Du Excel nicht mal instllaiert haben ...
  22. OK, das "zyklische" wird ja vermutlich bisher auch eher durch eine geplante Aufgabe erledigt, oder? Das könnte man also für ein Powershell-Skript genauso machen. Und die Prüfung auf neue Dateien ist mit Powershell auch nicht kompliziert. Und wenn man das Skript "selbstgebaut" hat, kann man es in Zukunft auch einfacher anpassen, wenn das nötig wird. ... und selbst wenn nicht, inzwischen bekommt man für Powershell-Skripte schneller/einfacher/mehr Hilfe als für VBS.
  23. Hmmm ... es geht um die Umwandlung einer einfachen Excel-Datei in eine CSV-Datei die den gleichen Namen haben soll? Na so'n Hexenwerk ist das jetzt aber auch nicht, oder? $File = Get-Item -Path D:\sample\sample.xlsx $NewName = Join-Path -Path $File.DirectoryName -ChildPath ($File.BaseName + '.csv') Import-Excel -Path $File.FullName | Export-Csv -Path $NewName -NoTypeInformation ... oder fehlt da noch eine wichtige Information?
  24. Bei VBS muss ich passen, aber wenn Ihr sowieso schon auf was Frischeres migriert, wie wäre es mit aktueller Technologie? Mit Powershell und dem Modul ImportExcel sollte das ohne Probleme möglich sein und Ihr spart Euch Excel auf einem Server installieren und bezaheln zu müssen.
  25. Hmmm ... sowas Ähnliches hatte ich befürchtet ... ... von WixToolset hab ich natürlich keine Ahnung und ich bin auch weit davon entfernt, mich einen MSI-Expreten zu nennen, aber was ich mich frage: Warum willst Du denn überhaupt eine MSI-Datei in eine MSI-Datei packen? Was ist die "Umgebung" und was willst Du erreichen? Wenn Du in einer Windows-Domäne unterwegs bist, gibt es üblicherweise verschiedene Möglichkeiten, eine bestimmte Software mit bestimmten Eigenschaften zu installieren.
×
×
  • Neu erstellen...