-
Gesamte Inhalte
2.101 -
Registriert seit
-
Letzter Besuch
Alle erstellten Inhalte von BOfH_666
-
Xml datei mit Batch bearbeiten
BOfH_666 antwortete auf ein Thema von Proll012 in: Windows Forum — Scripting
Ein Bild von Code ist wirklich nicht hilfreich. Niemand hat Lust irgendetwas abzutippen - ganz besonders, wenn es um Code geht, wo ein kleiner Tippfehler schon einen großen Syntax-Fehler darstellen kann. Der Pfad stimmt schon. Das ist nicht das Problem. Das Problem ist, dass Du davon nicht nur einen hast. Wenn auf dem Tisch 3 Schrauben liegen und ich Dir sage "Gib mir mal die Schraube!", fragst Du mich vermutlich "Welche?" ..... Ich hab mir wieder mal etwas für Dich aus den Fingern gesaugt ... <?xml version="1.0" encoding="UTF-8"?> <BMECAT> <T_NEW_CATALOG> <PRODUCT mode="new"> <PRODUCT_FEATURES> <FEATURE> <FNAME></FNAME> <FVALUE>XYZ; 52; green </FVALUE> <FORDER></FORDER> </FEATURE> <FEATURE> <FNAME></FNAME> <FVALUE>XYZ; 53; blue </FVALUE> <FORDER></FORDER> </FEATURE> <FEATURE> <FNAME></FNAME> <FVALUE>XYZ; 54; yellow </FVALUE> <FORDER></FORDER> </FEATURE> </PRODUCT_FEATURES> </PRODUCT> </T_NEW_CATALOG> </BMECAT> Du brauchst also eine Schleife, um jedes Vorkommen von FEATURE zu behandeln: $XmlData = [xml](Get-Content -Path 'C:\Users\MeinName\Desktop\DE_nv2040.xml') foreach ($Feature in ($XmlData.BMECAT.T_NEW_CATALOG.PRODUCT.PRODUCT_FEATURES).FEATURE ) { $SplittedFVALUE = ($Feature.FVALUE -split ';').trim() foreach ($Value in $SplittedFVALUE) { $child = $XmlData.CreateNode("element", "FV", "") $child.InnerText = $Value $Feature.AppendChild($child) } } $XmlData.Save('C:\Users\MeinName\Desktop\DE_nv2040_new.xml') Ergebnis ist dann das: <?xml version="1.0" encoding="UTF-8"?> <BMECAT> <T_NEW_CATALOG> <PRODUCT mode="new"> <PRODUCT_FEATURES> <FEATURE> <FNAME> </FNAME> <FVALUE>XYZ; 52; green </FVALUE> <FORDER> </FORDER> <FV>XYZ</FV> <FV>52</FV> <FV>green</FV> </FEATURE> <FEATURE> <FNAME> </FNAME> <FVALUE>XYZ; 53; blue </FVALUE> <FORDER> </FORDER> <FV>XYZ</FV> <FV>53</FV> <FV>blue</FV> </FEATURE> <FEATURE> <FNAME> </FNAME> <FVALUE>XYZ; 54; yellow </FVALUE> <FORDER> </FORDER> <FV>XYZ</FV> <FV>54</FV> <FV>yellow</FV> </FEATURE> </PRODUCT_FEATURES> </PRODUCT> </T_NEW_CATALOG> </BMECAT> -
Vermutlich weil es einem noch niemand plausibel erklärt hat und man es deshalb einfach nicht besser weis. Es erschließt sich nicht jedem gleich intuitiv das Konzept von verschiedenen Konten auf einem PC. Kommt doch mal bitte von Eurem hohen Ross runter. Auch wenn es 2021 vielleicht wünschenswert wäre, interessiert sich nicht jeder so für IT-Technologie, wie wir, die wir 40 Stunden pro Woche nix anderes machen. @Dag Das Beste wird vielleicht sein, wenn Du jemanden findest, der Dir beim Zurücksetzen des Passwortes für den lokalen Admin und beim Sichern Deiner Daten hilft. Danach wäre es meiner Meinung nach dringend zu empfehlen, Dein Windows neu zu installieren. Somit wirst Du alle Altlasten los, die noch vom Vorbesitzer drauf sind und Du kannst mit einem sauberen System neu anfangen.
-
xls Verknüpfungen Massenbearbeitung
BOfH_666 antwortete auf ein Thema von Suzaro in: Windows Forum — Scripting
Wer ist "sie"? ... davon abgesehen, müsstest Du die Ordnerstruktur selbst anpassen. Das Modul macht Dir lediglich den Zugriff auf die einzelnen Zeilen/Spalten/Zellen einfacher. Es genügt also nicht, einen kleinen Zauberstab zu schwingen ... -
xls Verknüpfungen Massenbearbeitung
BOfH_666 antwortete auf ein Thema von Suzaro in: Windows Forum — Scripting
Du könntest noch versuchen, ob Dir das ImportExcel-Modul von Doug Finke weiterhilft ... https://www.powershellgallery.com/packages/ImportExcel/ -
Xml datei mit Batch bearbeiten
BOfH_666 antwortete auf ein Thema von Proll012 in: Windows Forum — Scripting
Darf ich fragen, wozu Du Dich ausbilden lässt? Mit XML hast Du Dir aber auch gleich ein ziemlich komplexes Thema ausgesucht .... ... darum mache ich auch einen großen Bogen, wenn ich kann. Da Du uns nix zum "Spielen" zur Verfügung stellst, musste ich mir selbst was basteln. Ich gehe also von einer einzelnen Datei aus, die folgendermaßen aussieht: <?xml version="1.0" encoding="UTF-8"?> <BMECAT> <T_NEW_CATALOG> <PRODUCT> <PRODUCT_FEATURES> <FEATURE> <FVALUE>XYZ; 52; green</FVALUE> </FEATURE> </PRODUCT_FEATURES> </PRODUCT> </T_NEW_CATALOG> </BMECAT> Der Code um in dieser Datei den Inhalt des einzigen Nodes "FVALUE" jeweils am Semikolon aufzuspalten sieht wie folgt aus: $XmlData = [xml](Get-Content -Path 'C:\Users\MeinName\Desktop\DE_nv2040.xml') $SplittedFVALUE = ($XmlData.BMECAT.T_NEW_CATALOG.PRODUCT.PRODUCT_FEATURES.FEATURE.FVALUE -split ';').trim() foreach ($Value in $SplittedFVALUE) { $child = $XmlData.CreateNode("element", "FV", "") $child.InnerText = $Value $XmlData.BMECAT.T_NEW_CATALOG.PRODUCT.PRODUCT_FEATURES.FEATURE.AppendChild($child) } $XmlData.Save('C:\Users\MeinName\Desktop\DE_nv2040_new.xml') Idealerweise versuchst Du zu verstehen, was der Code alles macht. Das hilft Dir in Zukunft ähnliche Aufgaben zu erledigen. Ich gebe der neuen Datei auch einen neuen Namen, damit man ein bissl damit spielen kann und nicht immer wieder die Quell-Datei überschreibt. Jetzt hast Du also eine einzelne Datei behandelt. Du hattest geschrieben, dass es sich um mehrere Dateien handelt. Dann kannst Du jetzt um das Ganze jetzt noch eine große Schleife drumrumpacken, die genau das mit jeder einzelnen gefundenen XML-Datei macht. Und Dein Ausbilder darf gern erfahren, dass Du Dir Hilfe gesucht hast!!! -
Xml datei mit Batch bearbeiten
BOfH_666 antwortete auf ein Thema von Proll012 in: Windows Forum — Scripting
Hmmm ... Du machst es uns nicht einfach Dir zu helfen. Bitte Code ausschließlich als Text posten - diesen natürlich entsprechend als Code formatieren. Das Gleiche gilt für Fehlermeldungen und Konsolen-Ausgaben, die Du vielleicht teilen möchtest. Die Fehlermeldung in PowerShell sind in Deutsch und auch größtenteils auch ziemlich eindeutig. Als Erstes solltest Du Dir vielleicht anschauen, wie man die Hilfe zu den einzelnen cmdlets - speziell die Syntax - richtig liest. Wir können Dir hier im Rahmen eines Forums nicht beibringen, wie man PowerShell-Skripte schreibt. Die Grundlagen wirst Du Dir selbst aneignen müssen. Wir können aber bei konkreten Problemen/Fehlern, die Du mit selbstgeschriebenem Code hast helfen und tun das auch sehr gern. Die Reihenfolge, in der ich die Hilfe oben bereits verlinkt hatte, ist quasi schon die, die grob auch schon für Deine Aufgabe passen sollte. In Pseudo-Code wäre es also ungefähr so: - Alle XML-Dateien im gewünschten Verzeichnis ermitteln - in einer Schleife alle gefundenen Dateien nacheinander behandeln - - Inhalt lesen - - gewünschte Stelle finden - - Inhalt der "Zelle" aufteilen - - für jeden einzelnen Teil der aufgeteilten Zelle einen neuen Node erzeugen und dem XML hinzufügen - - falls gewünscht, den "alten" zusammenhängenden Teil aus dem XML entfernen - - neuen kompletten XML-Inhalt in neue Datei oder in die Original-Datei schreiben. Achja ... Du tust Dir selbst und allen anderen, die Deinen Code lesen sollen, einen riesen Gefallen, wenn Du Deinen Code so ausführlich wie möglich schreibst. ... also die Parameter-Namen auschreiben und keine Aliasse verwenden. -
Xml datei mit Batch bearbeiten
BOfH_666 antwortete auf ein Thema von Proll012 in: Windows Forum — Scripting
Hmmm ... dass PowerShell eine andere Skript-Sprache ist und nicht nur ein anderes Programm, in dem Du Deine Batch-Datei ausführst, hattest Du verstanden, oder? -
Xml datei mit Batch bearbeiten
BOfH_666 antwortete auf ein Thema von Proll012 in: Windows Forum — Scripting
Das hatten wir ja weiter oben ja bereits begonnen. Poste doch bitte mal den PowerShell-Code, den Du hast. Dann sehen wir, wo es noch klemmt. -
PS: Remote Abfragen mit lokalem User
BOfH_666 antwortete auf ein Thema von Kuddel071089 in: Windows Forum — Scripting
Den meinte ich, ja. Der hat lokal sowieso ALLE Rechte, die man eventuell brauchen könnte. Er bräuchte halt nur zusätzlich das Schreibrecht auf einem zentralen Share. Oder Du sammelst die Dateien von den einzelnen Servern mit einem Account ein, der das darf. Es gibt so viele Möglichkeiten, wie man an dieses Thema rangehen kann ............... -
PS: Remote Abfragen mit lokalem User
BOfH_666 antwortete auf ein Thema von Kuddel071089 in: Windows Forum — Scripting
Das könnte auch der System-Account machen. Wenn Du dem "Server" Schreibrechte auf die zentrale Freigabe gewährst, brauchst Du an den Server quasi nix zusätzliches erstellen. -
Xml datei mit Batch bearbeiten
BOfH_666 antwortete auf ein Thema von Proll012 in: Windows Forum — Scripting
OK - Hausaufgabe also. Da fällt es dann ja sowieso erst recht flach, dass Du hier was Fertiges bekommst. Und Dein Ausbilder würde mich bestimmt auch im Traum heimsuchen, wenn ich Dir das, was Du im Netz gefunden hast, einfach für Deine Aufgabe passend machen würde. Du sollst es ja schließlich verstehen/lernen. Ich würde Dir also empfehlen, Deine Aufgabe in einzelne kleine überschaubare Teile zu zerlegen und diese aufeinander aufbauend in Dein Skript einzubauen. Als ersten Teil würde ich vorschlagen, dass Du Dir alle XML-Dateien im gewünschten Verzeichnis auslisten lässt. Wenn der Schritt funktioniert und Du es verstanden hast, wie und warum es funktioniert, erweiterst Du um den nächsten Schritt ... usw. Und bitte nicht jede einzelne Zeile kommentieren - das ist zu viel. PowerShell-Code ist ziemlich "sprechend". Jeder, der auch nur annähernd der englischen Sprache mächtig ist, kann sich vorstellen, dass man z.B. mit "Get-Content" den Inhalt eines Objektes erhält. Und bitte, wenn Du hier Code postest, formatier den doch bitte auch als Code. Danke schon mal im Voraus. -
PS: Remote Abfragen mit lokalem User
BOfH_666 antwortete auf ein Thema von Kuddel071089 in: Windows Forum — Scripting
Von Deinen Zugriffsproblemen mal abgesehen, gibt es für solche Aufgaben schon mehr als ausreichend Beispiele im Netz. Du brauchst das Rad also nicht neu erfinden. Im einfachsten Fall erhältst Du viele der üblichen/wichtigen Informationen über ein Windows-Computer-System mit einem einzigen Befehl: Get-ComputerInfo -
Xml datei mit Batch bearbeiten
BOfH_666 antwortete auf ein Thema von Proll012 in: Windows Forum — Scripting
Hmmm ... das klingt, als hättest Du eher keine Kenntnisse im Skripten allgemein, oder? Wenn Du damit anfangen möchtest, würde ich Dir - wie oben schon erwähnt - eher PowerShell als Batch empfehlen. Man bekommt im Zweifel auch mehr und schneller Hilfe dafür im Netz. Vielleicht schaust Du Dir mal die Hilfe zu den folgenden cmdlets (so heißen die Befehle in PowerShell) an: https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.management/get-childitem?view=powershell-7.1 https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.management/get-content?view=powershell-7.1 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.utility/out-file?view=powershell-7.1 Du solltest die Hilfe jeweils komplett inklusive der Beispiele lesen, um zu lernen wie sie verwendet werden. Wenn Du Probleme mit Code hast, den Du geschrieben hast, kannst Du den hier posten und wir werden nach Kräften versuchen Dir zu helfen aber wir schreiben hier keinen gebrauchsfertigen Code auf Anfrage. Das wäre mehr als unfair gegenüber Leuten, die damit ihr Geld verdienen (müssen). -
PS: Remote Abfragen mit lokalem User
BOfH_666 antwortete auf ein Thema von Kuddel071089 in: Windows Forum — Scripting
Wenn es sich um eine Windows-Domäne handelt, würde ich dringend empfehlen, einen Account zu benutzen, der in der AD-Gruppe ist, die Mitglied der lokalen Administratoren auf den Servern ist. Ohne wirklich Erfahrung damit zu haben, bin ich bisher davon ausgegangen, dass LAPS eher für Clients gemacht war - nicht für Server. -
Xml datei mit Batch bearbeiten
BOfH_666 antwortete auf ein Thema von Proll012 in: Windows Forum — Scripting
Hallo @Proll012, das ist eine schöne Aufgabe für ein Skript. Mal davon abgesehen, dass ich eher PowerShell empfehlen würde, weil ich mich mit Batch dafür nicht gut genug auskenne und weil PowerShell auch die neuere und mächtigere Skriptsprache ist, klingt der Plan ganz gut. Was ist denn die eigentliche Frage? -
Ist 2021-09 für Windows 10 1809 bei Euch im WSUS verfügbar?
BOfH_666 antwortete auf ein Thema von zahni in: Windows Forum — Security
... da is ja dann noch Platz bis LTSZ ... *undganztiefwegduck* -
... und das alles nur, um eine Industrie am Leben zu halten und Profite dafür zu garantieren ... Thema "geplante Obsoleszenz" https://de.wikipedia.org/wiki/Centennial_Light
-
... habt ihr wieder Billig-Kram von Alibaba verbaut, oder? ... ansonsten gehen doch LEDs nicht kaputt!!
-
Windows Server 2012 R2 - Neustart umgehen nach Update für Powershell
BOfH_666 antwortete auf ein Thema von Doraymefayzo in: Windows Server Forum
Das ist ja auch alles verständlich, aber selbst wenn hier jemand sag "Klar, kein Problem, mach dies, mach das, dann geht's", ist das von MSFT nicht supported und im Zweifel bist Du der Dumme, der den Kopf dafür hinhalten muss. Würdest Du das wirklich wollen? Das Problem hier ist kein technisches!! -
Windows Server 2012 R2 - Neustart umgehen nach Update für Powershell
BOfH_666 antwortete auf ein Thema von Doraymefayzo in: Windows Server Forum
Ich könnte nicht sagen, was genau nötig wäre, um den Neustart des Systems für die installierten Komponenten zu simulieren. Und ich bin skeptisch, ob das überhaupt wirklich jemand kann, außer MSFT selbst. Ich würde an Deiner Stelle für mich als "Lesson learned" mitnehmen, solche Installationen in Zukunft in eine geplante Downtime / ein Wartungsfenster / eine Spätschicht zu verlagern, die es Dir ermöglicht auf unvorhergesehene Ereignisse zu reagieren. -
Windows Server 2012 R2 - Neustart umgehen nach Update für Powershell
BOfH_666 antwortete auf ein Thema von Doraymefayzo in: Windows Server Forum
Selbst wenn es das gäbe, wäre das alles andere als empfehlenswert. Willst Du so ein Risiko bei einem produktiv genutzten Server wirklich eingehen? -
Mit Deiner GUI kann ich Dir nicht helfen - Du hast ja auch keinen entsprechenden Code gepostet. Ich gehe mal davon aus, dass Du weißt, wie Du Deine Variablen genannt hast. Bei dem Code-Beispiel von oben setzt Du einfach zusätzlich zum gezeigten XML-Node den zweiten gewünschten darunter ... also so ungefähr: $xml = [xml](Get-Content -Path 'C:\Windows\Setup\Scripts\unattend.xml') $xml.UserAccounts.LocalAccounts.LocalAccount.DisplayName = 'Bla Keks' $xml.UserAccounts.LocalAccounts.LocalAccount.DasAndereAttributWelchesDuAendernMoechtest = 'Bla Suelz' $xml.Save('C:\Windows\Setup\Scripts\unattend.xml') ... also statt "Bla Keks" und "Bla Suelz" setzt Du die Variablen ein, die die gewünschten Werte enthalten.
-
Also den Code, um in der XML-Datei die entsprechenden Nodes zu ändern hast Du ja jetzt. Du musst doch jetzt nur noch statt "Bla Keks" die Rückgabewerte aus Deiner GUI einsetzen. Wobei genau brauchst Du da Hilfe? Und könntest Du bitte den Code, den Du hier postest als Code formatieren? Danke schon mal im Voraus.
-
Ich weiß, wir sind hier in einem Forum und nicht im Deutschunterricht, aber wenn Deine Sätze dann keinen erkennbaren Sinn mehr ergeben, wird es auch schwer Dir zu helfen. Also achte doch wenigstens ein wenig auf vernünftiges und verständliches Deutsch! Und es ist auch nicht nötig, jedes mal die komplette Nachricht zu zitieren. Besonders, wenn Du Dich gar nicht auf eine spezifische Passage beziehst. Heißt das, dass das Problem gelöst ist?
-
hmmm ... Dein Code is syntaktisch falsch oder unvollständig ... ich hoffe mal, dass das nur beim hierher Kopieren passiert ist. # Import active directory module for running AD cmdlets Import-Module activedirectory Das ist überflüssig. Seit PowerShell Version 3 werden korrekt installierte Module automatisch geladen. Das Einzige, was vielleicht Sinn machen würde wäre... #Requires -Modules ActiveDirectory ... $users = Get-ADUser -F {Office -eq "group1" -or Office -eq "group2" -or Office -eq "group3"} Vermutlich wird mich gleich wieder jemand korrigieren und sagen, dass das mit LDAP-Filter überhaupt kein Problem ist, aber meiner Meinung nach ist es bei komplexen Bedingungen häufig einfacher, die Filterung mit einem Where-Object zu erledigen. Du könntest also hiermit $users = Get-ADUser -SearchBase 'whatever fits to your environment' | Where-Object { $_.Office -in $ADUsers.Office} ... die gewünschten AD-Konten ermitteln.