-
Gesamte Inhalte
2.086 -
Registriert seit
-
Letzter Besuch
Alle erstellten Inhalte von BOfH_666
-
Profile klonen / Profilpfad ohne Usernamen
BOfH_666 antwortete auf ein Thema von da4id in: Windows 10 Forum
USMT schon probiert? https://docs.microsoft.com/en-us/windows/deployment/usmt/usmt-overview -
Branch Cache Windows 10 Pro BITS
BOfH_666 antwortete auf ein Thema von pfeffis in: Windows Forum — LAN & WAN
... mir ist als einziges Szenario die Verteilung der SCCM-Paket-Quellen geläufig - die sind halt ziemlich statisch. Ansonsten bin ich bei Dir. -
If Exist Value in CSV Datei
BOfH_666 antwortete auf ein Thema von BlacksGood in: Windows Forum — Scripting
Supi. Manchmal denkt man einfach ein bissl zu kompliziert. Ich versuche immer nach dem KISS-Prinzip zu arbeiten. -
PowerShell schleife zum bearbeiten von xml Dateien in einem Verzeichnis
BOfH_666 antwortete auf ein Thema von Proll012 in: Windows Forum — Scripting
Du machst immer wieder die gleichen Fehler. Du brauchst dringend Grundlagen. Wir haben alles Nötige schon mal gepostet. -
If Exist Value in CSV Datei
BOfH_666 antwortete auf ein Thema von BlacksGood in: Windows Forum — Scripting
hmmmm .... na das nur wenn's nicht anders geht ... also wenn's eher hierarchische Daten sind ... aber das trifft ja in diesem Fall noch nicht zu. -
If Exist Value in CSV Datei
BOfH_666 antwortete auf ein Thema von BlacksGood in: Windows Forum — Scripting
siehe oben! -
If Exist Value in CSV Datei
BOfH_666 antwortete auf ein Thema von BlacksGood in: Windows Forum — Scripting
Es wär natürlich ne gute Idee, nicht nach "X" zu fragen, wenn Du eigentlich "Y" wissen willst. Wenn Du in der Spalte mit den Gruppen/Berechtigungen mehrere durch Trennzeichen getrennte Einträge drin hast, kannst Du die mittels "-split" in ein Array aufspalten und dann mit einer Schleife über dieses Array "drüber-iterieren". ... da brauchst Du keine 100 if's untereinanderzupacken. Edit: also sowas hier: $CSVInput = @' user,gruppen max.mustermann,"test1,test2,test3,test4,test5,test6" frau.mustermann,"test1,test2,test,3,test4" '@ | ConvertFrom-Csv -Delimiter ',' foreach ($Item in $CSVInput) { $GruppenListe = $Item.gruppen -split ',' foreach ($Gruppe in $GruppenListe) { [PSCustomObject]@{ User = $Item.User Gruppe = $Gruppe } } } -
If Exist Value in CSV Datei
BOfH_666 antwortete auf ein Thema von BlacksGood in: Windows Forum — Scripting
Die CSV müsste dann ungefähr so aussehen: user,gruppen max.mustermann,"test1,test2,test3,test4,test5,test6" frau.mustermann,"test1,test2,test,3,test4" Und mit https://docs.microsoft.com/en-us/powershell/module/activedirectory/add-adprincipalgroupmembership?view=windowsserver2019-ps kannst Du in einem Rutsch mehrere Gruppenmitgliedschaften für einen User konfigurieren. -
If Exist Value in CSV Datei
BOfH_666 antwortete auf ein Thema von BlacksGood in: Windows Forum — Scripting
Es wäre meiner Meinung nach einfacher, wenn es eine Spalte für die Gruppen gäbe und Du die einfach einem Rutsch den Usern zuweist. -
Die Hilfe ist PowerShell eingebaut. Mit "Get-Help <cmdlet>" bekommst Du die Syntax angezeigt. Ausserdem kannst Du, wenn Du den Namen eines cmdlet getippt hast und nicht weißt, wie's weitergeht einfach ein "-" tippen und dann mit Tab durch die Parameter "blättern" oder in der ISE wird Dir, wenn Du den "-" eingibst, schon die Liste der Parameter aufgeklappt. Edit: Noch besser wäre, wenn Du VSCode für die Entwicklung von PowerShell-Code benutzt. Dort bekommst Du die meiste Hilfe.
-
Warum?
-
Es hilft meiner Meinung nach sehr dem Verständnis und der Lesbarkeit, wenn man die Parameternamen nicht weglässt. Nutzt man die "Tab-Vervollständigung" ist es auch nicht soo viel mehr zu tippen. Deine Code-Zeile $items = Get-ChildItem -recurse $folderpath "Neuer Ordner" ... würde dann zu ... $items = Get-ChildItem -Path $folderpath -Name "Neuer Ordner" -Recurse ... und ich packe Switch-Parameter immer gern ans Ende des Kommandos.
-
PowerShell Bearbeitung richtig Speichern
BOfH_666 antwortete auf ein Thema von Proll012 in: Windows Forum — Scripting
Ich würde Dir empfehlen, Deinen Code so explizit wie irgend möglich zu schreiben, keine Parameternamen wegzulassen, keine Aliase zu benutzen und so weiter. Das sollte Dir helfen, Deinen eigenen Code zu verstehen. Auch solltest Du, wenn Dein Code nicht das tut, was Du Dir erhoffst, selbst versuchen herauszufinden, warum das nicht so ist. Wenn Du Variablen erzeugst und füllst, lass Dir den Inhalt der Variablen einfach auf der Konsole ausgeben, das sollte Dich schon viel weiter bringen. Und die Methoden aus den Links, die ich Dir in dem anderen Thread gepostet hatte, machen dann den Rest. Wenn das nicht ein Fehler ist, der beim hier reinkopieren passiert ist, suchst Du in Deiner zweiten Code-Zeile nach einer (1) ganz bestimmten XML-Datei ("=.xml") und weist das Ergebnis einer Variablen zu. Eine Schleife über ein einzelnes Element, gibt im besten Fall einfach dieses eine Element wieder aus. In Deiner 4. Code-Zeile liest Du den Inhalt der Datei aus und speicherst ihn als XML-Objekt in der Variablen $xml. In der nächsten Zeile versuchst Du auf das XML-Object zuzugreifen, benutzt aber die falsche Variable - nämlich $xmlobject anstatt $xml. ... was ja nicht heißt, dass der Code fehlerfrei wäre ... ... kann ja auch nicht. Schau Dir doch bitte nochmal an, wie man ein PowerShell-Skript debugged! -
MFA für Remotedesktop-Gateway
BOfH_666 antwortete auf ein Thema von wznutzer in: Windows Forum — Security
... und ich mach noch ne Packung Treets auf ... -
... oder auf PowerShell umzusteigen ...
-
PowerShell Bearbeitung richtig Speichern
BOfH_666 antwortete auf ein Thema von Proll012 in: Windows Forum — Scripting
Na ma kukn, wie's weitergeht. Wenn Du wieder etwas postest, bitte möglichst das komplette Skript. -
PowerShell Bearbeitung richtig Speichern
BOfH_666 antwortete auf ein Thema von Proll012 in: Windows Forum — Scripting
Ich fürchte, da machst Du Dir ein bissl was vor. Es gibt in PowerShell verschiedene Ansätze, wie man Schleifen realisieren kann. Einmal die Pipe-Methode und dann die "Klassische" Schleifen-Methode. Schau Dir mal die Beispiele in den Dokus an, die ich oben verlinkt hatte. Die Dateinamen sollten dann in der Schleifenvariablen stecken, damit Du in jedem Schleifendurchlauf genau eine Datei beackerst. -
PowerShell Bearbeitung richtig Speichern
BOfH_666 antwortete auf ein Thema von Proll012 in: Windows Forum — Scripting
Ich weiß gar nicht, wo ich da anfangen soll .... und das ist nicht böse gemeint. Du hast in den ersten 5 Zeilen 8 Syntax-Fehler. Wenn ich mich nicht irre, hatte ich Dir schon mal empfohlen, Dir als Erstes die Grundlagen von PowerShell im Speziellen und Scripting im Allgemeinen anzueignen. Du tust Dir selbst und uns allen keinen Gefallen, wenn Du das überspringst. Es heißt nicht umsonst "Grundlagen"!! ... alles andere baut darauf auf. Edit: z.B. ist Foreach nicht gleich Foreach .... https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/foreach-object?view=powershell-7.1 https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_foreach?view=powershell-7.1 -
PowerShell Bearbeitung richtig Speichern
BOfH_666 antwortete auf ein Thema von Proll012 in: Windows Forum — Scripting
Ich fürchte, Du haust da Einiges gehörig durcheinander. Wenn Du eine XML-Datei einliest und das auch als [XML]-Typ, dann solltest Du ausschließlich XML-Methoden für die Manipulation verwenden. Wenn Du eine "einfache String Ersetzung" machen möchtest, brauchst Du nicht explizit den XML-Typ erzwingen. -
PowerShell Bearbeitung richtig Speichern
BOfH_666 antwortete auf ein Thema von Proll012 in: Windows Forum — Scripting
Was genau steht denn in der Variablen "$FinishedXml"? Wenn Du die Original-XML-Dateien überschreiben möchtest, solltest Du an der Stelle die gleiche Variable eintragen, die Du an der Stelle hast, wo Du die Datei einliest!! And BTW: ... hab ich grad erst drauf geachtet - meistens ist es keine gute Idee, in einer XML-Datei mit einfachen String-Ersetzungen zu arbeiten. Was stört denn an den Attributen? -
PowerShell Bearbeitung richtig Speichern
BOfH_666 antwortete auf ein Thema von Proll012 in: Windows Forum — Scripting
Das hatten wir doch in Deinem anderen Thread schon mit gezeigt ... wenn Du eine XML-Datei mit ... $XmlData = [xml](Get-Content -Path 'C:\Users\MeinName\Desktop\DE_nv2040.xml') eingelesen hast, kannst Du sie mit .... $XmlData.Save('C:\Users\MeinName\Desktop\DE_nv2040.xml') speichern. Nur dass Du in diesem Fall eben keine direkten Pfade angibst, sondern Variablen. -
Für PowerShell-Skripte wäre das möglich. ... es sei denn, ich hab da wieder etwas falsch verstanden.
-
Xml datei mit Batch bearbeiten
BOfH_666 antwortete auf ein Thema von Proll012 in: Windows Forum — Scripting
Wenn ich das als XML-Datei speichere und versuche zu importieren, bekomme ich schon eine Fehlermeldung - Du nicht? PowerShell hält das nicht für valides XML. v7.1.4 : InvalidArgument: Cannot convert value "System.Object[]" to type "System.Xml.XmlDocument". Error: "The specified node cannot be inserted as the valid child of this node, because the specified node is the wrong type." v5.1 Der Wert "System.Object[]" kann nicht in den Typ "System.Xml.XmlDocument" konvertiert werden. Fehler: "Der angegebene Knoten konnte nicht als gültiger untergeordneter Knoten eingefügt werden, da der angegebene Knoten den falschen Typ hat." In Zeile:1 Zeichen:1 + $XmlData = [xml](Get-Content -Path 'D:\sample\DE_nv2040_orig.xml') + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidArgument: (:) [], RuntimeException + FullyQualifiedErrorId : InvalidCastToXmlDocument -
Xml datei mit Batch bearbeiten
BOfH_666 antwortete auf ein Thema von Proll012 in: Windows Forum — Scripting
Hmmm ... ne ... ohne die Original-Daten habe ich das Problem einfach nicht ... sorry Jetzt kannst Du lernen, wie man ein PowerShell-Skript debugged! https://devblogs.microsoft.com/scripting/debugging-powershell-script-in-visual-studio-code-part-1/ ... oder hier ... 'n Video ... -
Xml datei mit Batch bearbeiten
BOfH_666 antwortete auf ein Thema von Proll012 in: Windows Forum — Scripting
Tja .. .was soll ich dazu sagen ... ich hab's grad nochmal getestet - sowohl mit PS v5.1 als auch mit v7.1.4. Und was soll ich sagen - es funktioniert mit den Daten, die ich gepostet habe genau so wie ich es gepostet habe.