-
Gesamte Inhalte
2.083 -
Registriert seit
-
Letzter Besuch
Alle erstellten Inhalte von BOfH_666
-
<SCNR> "schick" und "Einzeiler" .... uuuuhhh ... da schüttelt's mich ... </SCNR>
-
Datei einlesen und variable befüllen
BOfH_666 antwortete auf ein Thema von tsaenger in: Windows Forum — Scripting
(Select-String -Path 'Pfad zu Deiner Text-Datei' -Pattern '(?<=Phone).+(?=$)' | Select-Object -ExpandProperty Matches).Value -
Verzeichnisname ist ungültig
BOfH_666 antwortete auf ein Thema von HeizungAuf5 in: Windows Forum — Scripting
Supi. Markier doch bitte den Code-Schnipsel noch als Lösung. Dann finden andere, die das gleiche oder ein ähnliches Problem haben, die Lösung hoffentlich ein wenig schneller. Danke. -
Dateipfade konvertieren ins MS DOS-Format
BOfH_666 antwortete auf ein Thema von Puschkin in: Windows Forum — Scripting
Hallo Puschkin, wir liefern hier üblicherweise keinen gebrauchsfertigen Code auf Anfrage. Du wirst Dir schon selbst ein bissl Mühe geben müssen. Hast Du denn schon mal gesucht, ob Du was Passendes finden kannst. Meistens ist man ja nicht der Erste, der nach einer Lösung sucht. Wofür brauchst Du denn überhaupt so etwas Altertümliches? 2020 sollten doch etwas längere Pfade kein Problem mehr sein. -
Verzeichnisname ist ungültig
BOfH_666 antwortete auf ein Thema von HeizungAuf5 in: Windows Forum — Scripting
Du machst es Dir aber auch schwer ... $CimSession = New-CimSession -ComputerName 'Print01' -Credential $Credentials Get-CimInstance -CimSession $CimSession -ClassName Win32_Printer | Select-Object -Property ShareName | Out-File C:\Drucker\Printer_List.txt Remove-CimSession -CimSession $CimSession Um die Probleme zu umgehen, dass es quasi keine einfache Möglichkeit gibt, Credentials sicher für die Benutzung in Scripten zu speichern, könntest Du einfach die Aufgabenplanung benutzen. Du erstellst eine entsprechende Aufgabe mit den nötigen Anmeldedaten und führst diese bei Bedarf aus. Dann lässt Du den ganzen Credentials-Kram im Script einfach weg. -
Verzeichnisname ist ungültig
BOfH_666 antwortete auf ein Thema von HeizungAuf5 in: Windows Forum — Scripting
... und Get-WmiObject sollte auch nicht mehr benutzt werden. Es gibt das moderne Get-CimInstance ... meistens auch noch schneller ... und mit dem Parameter -ComputerName kannst Du das auch remote benutzen ... ohne Invoke-Command. -
Script für HyperV-Replica Überwachung
BOfH_666 antwortete auf ein Thema von Mario-HS in: Windows Forum — Scripting
... nur ein kleiner Tipp, um Deinen Code leichter lesbar zu machen. Bei cmdlets, die ziemlich viele Parameter erfordern oder verdauen, liest sich der Code leichter, wenn man Splatting benutzt ... so ungefähr: $SendMailProps = @{ To = 'empfaenger@maildomain.tld' Subject = 'HyperV-Replica Alarm' Body = Get-Content -Path $Info_Datei | Out-String SmtpServer = $Mail_Server From = $Mail_Absender } Send-MailMessage @SendMailProps Hier was zum Nachlesen: https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_splatting?view=powershell-7 -
oooops ... hihihi ... hier ... nimmste das "h" ... und falls in Zukunft mal wieder ewtas fehlt ..... "abcdefghijklmnopqrstuvwxyz" ... nimmste Dir dann, was'de brauchst.
-
Jaaa .... wenn ein LKW gegen enen flotten offenen Sportwagen antritt, hat er halt mal Pech.
-
... 'kenn ich auch so. Und wer zuerst kommt und malt zuerst, oder?
-
Dienste werden doch nicht vom Domänen-Admin gestartet.
-
Script für HyperV-Replica Überwachung
BOfH_666 antwortete auf ein Thema von Mario-HS in: Windows Forum — Scripting
Wenn ich die Doku richtig verstehe, liefert es die "Settings" der VM mit dem angegebenen Status. Gib den Befehl doch einfach mal auf der Konsole ein und sieh, was Du als Ausgabe erhältst. Wenn da kein "$true" dabei ist, wird's nix. -
Benutzerprofil beim Abmelden löschen?
BOfH_666 antwortete auf ein Thema von Peter Weinrich in: Windows 10 Forum
Hier noch 'n bissl Extra-Lektüre : Use PowerShell delete a user profile (step-by-step guide) - https://adamtheautomator.com/powershell-delete-user-profile/ -
Frage zu Cmdlet Invoke-RestMethod -OutFile
BOfH_666 antwortete auf ein Thema von checko0701 in: Windows Forum — Scripting
hhhmmmm .... warte mal .... aber man kann die Denkfehler im Code manifestieren ... -
Frage zu Cmdlet Invoke-RestMethod -OutFile
BOfH_666 antwortete auf ein Thema von checko0701 in: Windows Forum — Scripting
Du hast Tippfehler und Denkfehler in Deinem Code. foreach ($element in $object) { Invoke-RestMethod -Method Post -Uri $element.url -Body $element.body -Headers $element.header -OutFile .\log_$($element.body).out } Mit diesem Schnipsel schreibst Du jeden einzelnen "output" in eine eigene Datei. Wenn alles in einer Datei landen soll, musst Du diesen Export außerhalb der Schleife erledigen. Du könntest erstmal allen Output in einer Variable einsammeln und das dann gesammelt in eine Datei exportieren ... so ungefähr: $Result = foreach ($element in $object) { Invoke-RestMethod -Method Post -Uri $element.url -Body $element.body -Headers $element.header } $Result | Out-File -FilePath .\log.log -
systeminfo im Batch geht nicht
BOfH_666 antwortete auf ein Thema von casi4712 in: Windows Forum — Scripting
den Code-Schnipsel mit dem man eine IP-Adresse in einen Namen auflöst habe ich Dir gepostet. -
systeminfo im Batch geht nicht
BOfH_666 antwortete auf ein Thema von casi4712 in: Windows Forum — Scripting
.... immernoch dabei, den Hostnamen zu einer bestimmten IP-Adresse zu ermitteln? Du sagtest doch, dass Du in einer AD Domäne unterwegs bist, oder? Warum benutzt Du nicht eine von den Clients unabhängige Methode, um die gewünschte Information zu erhalten? -
.... "völlig neu" ist gut. Die Powershell ist inzwischen 13 Jahre alt. Du hast es also schon ziemlich lange geschafft, Dich einer neuen Technologie zu verweigern. ... und 13 Jahre sollten genügen, sich so ein Hype-Thema mal anzusehen. Das liegt meiner Meinung nach an der Art, wie Du Deine Fragen stellst. Du fragst nicht, wie man ein Problem lösen könnte, sondern was man an Deinem Code ändern kann, damit er läuft. Bei den meisten Fragen erklärst Du nicht mal, was das eigentliche/große Ziel ist. Hier in diesem Thread hast Du schon mehrere alternative Ansätze erhalten, die Du ja wohl noch prüfen wolltest. Davon abgesehen, liefern wir hier auch ungern fertige Lösungen frei Haus, wenn der Fragende nicht selbst ein wenig Mitarbeit anbietet. Die meisten von uns - Du vermutlich auch - werden dafür normalerweise bezahlt und machen das dann hier nicht kostenlos. ... und ja - bei schriftlicher Kommunikation in einem Forum, wo man eben keine Mimik und Gestik übertragen kann, kann man schon mal einen unerwünschten Eindruck vermitteln.
-
Das ist der Eindruck, den Du vermittelst.
-
Leerzeichen in EIngabedatei bei Schleife
BOfH_666 antwortete auf ein Thema von casi4712 in: Windows Forum — Scripting
Ich denke auch, dass das nicht passieren wird und es ist auch nicht angekündigt oder so. Es hat aber niemand behauptet, dass der Code für Powershell kürzer wäre. Es ist sogar meistens eher das Gegenteil. Und das Meiste an diesem Beispiel ist der robocopy-Befehl und der muss ja in beiden Versionen quasi gleich sein. Durch die ausführlicheren Befehle ist der Powershell-Code aber für Menschen auch einfacher zu lesen und zu verstehen. Bei einem Befehl "Get-Content" oder "Get-Process" oder "Get-Service" braucht niemand raten, was die Befehle wohl machen könnten. Bei CMD/Batch-Befehlen die nur 2 Buchstaben lang sind, ist das schon ein bissl kniffliger. Und wenn es dann mit Optionen und Schaltern weitergeht, hat man meistens nur noch einen Buchstaben und Sonderzeichen machen es auch nicht besser ... also z.B. "/D %%t" ... wenn DU ehrlich bist, musst Du zugeben, dass das alles andere als intuitiv und verständlich ist - wenigstens am Anfang. -
Du machst es Dir aber auch schwer. Wenn ich Dich richtig verstanden habe, möchtest Du eine IP-Range scannen und die antwortenden Computer mit deren Namen irgendwie weiterverarbeiten, richtig? Anstatt administrativ auf jeden Computer zuzugreifen und ihn dazu zu bringen, seinen eigenen Namen rauszurücken, wie beim Durchzählen beim Morgenappell, würde ich mir die in einem AD üblicherweise zur Verfügung stehende Infrastruktur zu nutze machen. Mit einem "nslookup <IP-Adresse>" löst Du per DNS die IP-Adresse zu einem Namen auf - also ein Reverse Lookup . Du müsstest die Info dann nur noch aus der Textausgabe "rausparsen"/"raus-greppen" ... In Powershell wäre das in diesem speziellen Fall etwas einfacher - ja ich weiß, das hörst Du nicht gern - da kann man auf die Attribute der von der Powershell zurückgelieferten Objekte zugreifen: 2..254 | ForEach-Object { $IP = "192.168.1.{0}" -f $_ if(Test-Connection -ComputerName $IP -Quiet -Count 1){ [PSCustomObject]@{ IP = $IP ComputerName = [System.Net.Dns]::GetHostEntry($IP).HostName } } } Probier's einfach mal - vielleiciht hilft's ja. ... und nicht wundern - je na Menge antwortender Computer in der angegebenen Range, dauert es eine Weile. Vielleicht machst Du zum Testen die Range einfach ein bissl kleiner ... also z.B. nicht 2..254 sonder nur 10..20 wenn Du weißt, dass es Computer gibt, die im letzten Oktett etwas zwischen 10 und 20 haben. Edit: Eine weitere Möglichkeit wäre es, einfach das AD abzufragen. Vorausgesetzt, das erforderliche Modul ist auf Deinem Administrationsrechner installiert (RSAT), kannst Du mit Get-ADComputer -Filter * -Properties IPv4Address | Select-Object Name,IPv4Address alle Computer mit ihren IP-Adressen auslesen.
-
Leerzeichen in EIngabedatei bei Schleife
BOfH_666 antwortete auf ein Thema von casi4712 in: Windows Forum — Scripting
Um bei Deiner Analogie zu bleiben: Ein geübter Holzfäller schafft es ganz leicht, sich mit seiner frisch geschärften Axt ein Brötchen zu schmieren. Schaffst Du es, mit einem Brotmesser einen Baum zu fällen? foreach ($Element in (Get-Content -Path .\local.txt)){ robocopy "$ENV:USERPROFILE\AppData\Local\$Element" "$PSScriptRoot\set\profile\$ENV:USERNAME\AppData\Local\$Element" /PURGE /B /E /R:0 /ZB>nul 2>&1 } Die Powershell ist am Ende des Tages ja trotzdem immernoch eine normale Shell und für einfache Aufgaben sind die Unterschiede zwischen den Shells nicht soo groß. Der Punkt - für mich - ist, dass die CMD/Batch bei komplexeren Aufgaben schnell kryptisch wird und an quasi unüberwindbare Grenzen stößt, wo die Powershell eben weitergeht. Aber so lange Du mit CMD/Batch zufrieden bist und zum Ziel kommst, kannst Du es ja auch weiter nutzen. MS wird Dir vermutlich keine Steine in den Weg legen. Ich glaube, dass ICH Dir die Grundlagen in einer halben Stunde vermitteln könnte. -
Leerzeichen in EIngabedatei bei Schleife
BOfH_666 antwortete auf ein Thema von casi4712 in: Windows Forum — Scripting
Hmmm ... ich weiß ja nicht, warum Du Dich so gegen die deutlich modernere Technologie sträubst, aber ich fürchte, Du hast den eigentlichen Vorteil von Powershell noch nicht erkannt. Der wirklich nutzbringende Mehrwert von Powershell ist eigentlich gar nicht die "Power", die die Shell gegenüber CMD/Batch hat, sondern die sehr sehr viel flachere Lernkurve. Die Powershell ist nicht für Programmierer gemacht, sondern für Administratoren. Gerade für solche - nicht abfällig gemeint - Pille-Palle-Aufgaben wie hier in diesem Thread, brauchst Du keine krude gehirnverrenkende Syntax aus dem letzten Jahrtausend beherrschen. Die Grund-Idee von Powershell hast Du Dir innerhalb einer halben Stunde draufgeschafft und von da an geht es nur noch steil bergauf. Jeder, der ansatzweise der englishen Sprache mächtig ist, kann auch ohne langes Studium die Syntax von Powershell sehr einfach verstehen. Und wenn man dann erstmal die Grundlagen drauf hat, dann geht der Spaß erst richtig los, weil man sich jetzt mit der gleichen einfachen Syntax die richtig kniffligen Aufgaben vornehmen kann. Und nicht zuletzt bekommt man bei Problemen mit Powershell-Code schneller und mehr und meistens auch bessere Hilfe, weil sich auch viel mehr Menschen damit beschäftigen und sich mehr damit auskennen. -
Windows 7 VM Upgrade schlägt fehl
BOfH_666 antwortete auf ein Thema von Dutch_OnE in: Windows 10 Forum
Mir fällt dazu auch nix Intelligentes ein, aber ich hätte eine Frage: Warum erstellst Du nicht einfach eine neue VM mit W10 quasi neben der W7 VM? Bei einem physischen Rechner verstehe ich ja noch den Wunsch nach dem Upgrade, auch wenn ich kein großer Fan davon bin, aber bei einer VM sollte es doch einfacher sein, oder? -
Leerzeichen in EIngabedatei bei Schleife
BOfH_666 antwortete auf ein Thema von casi4712 in: Windows Forum — Scripting
Na ma kukn wer zuletzt lacht. ... irgendwann kommst Du an die Grenze, über die Du mit CMD nicht drüber kommst.