-
Gesamte Inhalte
2.083 -
Registriert seit
-
Letzter Besuch
Alle erstellten Inhalte von BOfH_666
-
Powershell Performance erhöhen
BOfH_666 antwortete auf ein Thema von tim3510 in: Windows Forum — Scripting
Den Hinweis von Lee_Dailey schon probiert .... ? https://stackoverflow.com/questions/54901996/powershell-performance -
Commandlet nicht verfügbar / generelle Mindestversion von PS?
BOfH_666 antwortete auf ein Thema von Stibo in: Windows Forum — Scripting
Die Verfügbarkeit einzelner cmdlets hängt nicht nur von der Powershell-Version ab, sondern auch von der Windows-Version auf der die Powershell läuft. Wenn Du Dir die Dokumentation auf den Microsoft-Seiten anschaust, hast Du immer auf der Linken Seite die Liste der cmdlets und darüber ein Suchfeld und die für die aktuell angezeigte Seite gültige Version von Windows oder Powershell. Wenn Du z.B. nach Install-Module suchst, findest Du standardmäßig erstmal die Dokumentation für Powershell Version 6. Wenn Du jetzt versuchst, die entsprechende Hilfe für die Version 3 aufzurufen, bekommst Du die Meldung, dass diese Seite nicht für die Version 3 verfügbar ist. -
Hallo RRX, na dann erstmal willkommen im MCSEBoard Scripting Forum. Wenn Du, wie Du schreibst, Dich mit C/C++ auskennst, kannst Du Dir bestimmt denken, dass man so einen über 1100 Zeilen langen Code-Batzen nicht mal eben so debuggen kann. Ich denke, das geht deutlich über die Möglichkeiten dieses Forums hinaus. Ich empfehle Dir, Dich an den Author dieses Scripts zu wenden und ihn um entsprechenden Support zu bitten.
-
Och komm .... so lang wir uns nich fetzen ... sowas muss auch mal drin sein.
-
neee ..... "... Sätze beenden." ... hätte da jetzt kommen müssen.
-
Als wären wir seelenverwandt ... im richtigen Leben würden wir gegenseitig unsere ......
-
Exchange Postfach - Vertreter
BOfH_666 antwortete auf ein Thema von wolfrP in: Windows Forum — Scripting
Versteh ich nicht ... Du kannst doch auch nach weiteren Filterschritten das resultierende Object an Remove-MailboxPermission pipen. .... oder ... selbst wenn Du das nicht magst, kannst Du das Ergebnis immernoch in einer Variablen speichern und so das existierende Object an Remove-MailboxPermission pipen. .... oder fehlen uns noch ein paar Informationen? -
Exchange Postfach - Vertreter
BOfH_666 antwortete auf ein Thema von wolfrP in: Windows Forum — Scripting
.... schon versucht das Ergebnis von Get-MailboxPermission an Remove-MailboxPermission zu pipen? Das ist ja der Vorteil der Powershell, dass Objekte über die Pipeline weitergereicht werden können. Ich weiß nicht, wieviele Exchange Experten hier unterwegs sind, aber vielleicht versuchst Du es mal in einem auf Exchange spezialisierten Forum ... z.B. bei den Microsoft Foren. Übrigens: Screenshots von Code zu posten ist keine gute Idee. -
Wow ... Du nu wieder ... ich würde erstmal anfangen und die Fehlerquelle "User-Interaction" entschärfen. Freitext-Eingabe is nich ... ich würde eine Liste mit möglichen Profilen anzeigen, aus denen der Benutzer des Scripts nur eins auswählen kann.
-
Powershell führt Befehl falsch aus
BOfH_666 antwortete auf ein Thema von Lupus1 in: Windows Forum — Scripting
Ich bin auch verwirrt. Ich dachte in dem Script wird etwas gemacht. Aber es soll nur ein Laufwerk verbunden werden. Und es sollen doch Credentials mitgegeben werden. Danach hatte ich viel weiter oben schon mal gefragt. Damit bin ich raus. Laufwerke verbindet man in Windows schon einige Jahre per Gruppenrichtlinie. Mit solchem VonHintenDurchDieBrustInsAugeQuatsch möchte ich mich einfach nicht mehr beschäftigen. Sorry. Ich wünsche viel Erfolg. -
Powershell führt Befehl falsch aus
BOfH_666 antwortete auf ein Thema von Lupus1 in: Windows Forum — Scripting
Hmmmm .... mit welchem Account wird das Script denn ausgeführt? Oder hatten wir das schon geklärt? ... ich hab den Überblick verloren. Eine aus dem Aufgabenplaner gestartete Sitzung ist nicht das gleiche wie eine interaktiv gestartete Sitzung. Was stellst Du in Deinem Script eigentlich an? Manche Sachen, die eine interaktive Anmeldung voraussetzen funktionieren auch einfach nicht aus dem Aufgabenplaner. -
Powershell führt Befehl falsch aus
BOfH_666 antwortete auf ein Thema von Lupus1 in: Windows Forum — Scripting
Natürlich kann man ein Auto auch schieben, um es zu bewegen. Aber das ist schwer. Also fragt man sein Freunde, ob sie beim Schieben helfen können. Dann geht's leichter - cool. Vielleicht findet man dann gemeinsam raus, dass man auch die Handbremse lösen kann - jetzt schiebt sich's noch leichter - supi. Dann kommt so einer daher und meint: "Jungs, das ist ein Auto. Da setzt man sich rein, macht den Motor an und fährt los". Wenn man jetzt nochmal fragt, warum sich das Auto so schwer schieben lässt, hat man sich mindestens eine Kopfnuss verdient. -
Powershell führt Befehl falsch aus
BOfH_666 antwortete auf ein Thema von Lupus1 in: Windows Forum — Scripting
KÖNNTEST DU DEIN SCRIPT AUCH MIT DEM UNC-PFAD BENUTZEN??????? -
Windows hat für Kompatibilitätszwecke Verknüpfungen zu den "Spezial-Ordnern" im Documents-Ordner. Und wenn Du robocopy nix anderes sagst, rennt es diesen Verknüpfungen hinterher. /XJ verhindert das.
-
Versuch mal zusätzlich die Option "/XJ" für robocopy.
-
Powershell führt Befehl falsch aus
BOfH_666 antwortete auf ein Thema von Lupus1 in: Windows Forum — Scripting
Ich würde den UNC-Pfad benutzen. -
OK ... dann versuch doch mal, den Backslash noch dranzuhängen und schau was robocopy draus macht.
-
Powershell führt Befehl falsch aus
BOfH_666 antwortete auf ein Thema von Lupus1 in: Windows Forum — Scripting
Hmmm ... ok, nochmal ... brauchst Du denn zwingend einen Laufwerksbuchstaben? Oder geht es auch mit dem UNC-Pfad? -
Kommentier mal bitte den robocopy Teil aus und lass Dir die Zielpfade ausgeben .... sie sollten mit einem Backslash enden.
-
grc, zu 1. Nein. zu 2. Du musst beim robocopy-Ziel das konkrete Zielverzeichnis mit angeben. Also 'Desktop', 'Favorites', 'Documents', 'Pictures' und 'Videos' jeweils in den Destinationroot mit einarbeiten. Als Erklärung zu 1. Normalerweise hat nur der jeweilige User Zugriff auf sein Profilverzeichnis. Möchte jemand anders darauf zugreifen, braucht er Admin-Rechte.
-
Powershell: ForEach in Function frühzeitig verlassen
BOfH_666 antwortete auf ein Thema von Sunny61 in: Windows Forum — Scripting
Na darum ging's mir doch ... war ich zu subtil? Das kenn' ich. Wenn ich mir meine ganz alten Sachen angucke, denke ich mir manchmal nur "Gott sei Dank sieht das niemand außer mir selbst" -
Powershell: ForEach in Function frühzeitig verlassen
BOfH_666 antwortete auf ein Thema von Sunny61 in: Windows Forum — Scripting
... ich meinte, dass ich bei tesso bin ... Das war doch nur ein Beispiel ... natürlich nimmst Du das Datum aus der CSV-Datei ... Du kannst jedes beliebige Datum benutzen ... z.B. so $BeipsielDatumAusDerCSVDatei = '31.12.2018' Get-Date -Date $BeipsielDatumAusDerCSVDatei -Format 'yyyyMMdd' Das meinte ich mit "umständlich" ... Du brauchst viele Zeilen Code und könntest vieles stark verkürzen ... statt $Lehrgang = $_.Lehrgangsnummer $Lehrgang= $Lehrgang.Replace(" ","") ... genügt z.B. auch eine Zeile ... $Lehrgang = $_.Lehrgangsnummer -replace '\s*' ... Musst Du das Datum für jeden einzelenen User zusammenbauen oder gilt das Datum für alle User eines Lehrgangs? -
Zeilen in PowerShell ersetzen
BOfH_666 antwortete auf ein Thema von wethlo in: Windows Forum — Scripting
Warum nimmst Du nicht einfach meinen Code und versuchst zu verstehen, was er tut? Du führst z.B. mehr oder weniger die gleiche Schleife 3 mal aus, nimmst dafür aber jedes mal die Original-Datei als Grundlage und schreibst jedes mal die Ziel-Datei neu. Das dürfte eigentlich nicht funktionieren. Es wäre effizienter, alle Änderungen in einer Schleife nacheinander durchzuführen. Ich schreibe in meinem Script die Änderungen mit dem Parameter -OutVariable erst mal temporär in eine Variable. Diese benutze ich dann zum Schluss dazu, dieErgänzung einzufügen. Da Du die Variable nicht benutzt, kann es so nicht funktionieren. Lies einfach Dein Destination-File nochaml mittels Get-Content ein und füge die Ergänzung auf die gleiche Weise wie ich hinzu. Weißt Du was ein Help-Vampire ist? Ich will ja nicht dran Schuld sein, wenn sich jemand die Pulsadern eröffnet .... Um meinen Code-Vorschlag quick & dirty um die letzten beiden zusätzlichen Ersetzungen zu erweitern, musst Du nur eine einzige Zeile ändern ... und zwar das hier else { $_ } .... in das hier ... else { $_.Replace("SetApproachStrategy(true, false, -1)", "SetApproachStrategy(false, true, 2)").Replace("SetRetractStrategy(true, false, -1, 0)", "SetRetractStrategy(false, true, 2, 0)") } ... noch als Erklärung: Der -replace Operator arbeitet mit regulären Ausdrücken. Die String-Methode .Replace() dagegen arbeitet mit direkten String-Ersetzungen. Der zu ersetzende String muss also genau so aussehen, wie in der Methode angegeben. -
Powershell: ForEach in Function frühzeitig verlassen
BOfH_666 antwortete auf ein Thema von Sunny61 in: Windows Forum — Scripting
Oooops ... ich muss zu meiner Schande gestehen, dass ich aufgrund der Fragestellung gar nicht genau hingeschaut hatte. Mit break kann man, wie man auch in der Hilfe nachlesen kann, nur aus Loops oder Swich-Statements ausbrechen (also For, While, Do oder Foreach - Loops). Foreach-Object gehört da nicht dazu ... genau deswegen plädiere ich immer dafür in Scripten so ausführlich wie möglich zu coden und Aliasse auf jeden Fall zu vermeiden. Aber wie schon erwähnt ... es gibt eine andere Lösung: Import-Csv -Path $Path -Delimiter ';' | Select-Object -First 2 ... wirft nur die ersten beiden Zeilen der CSV-Datei aus. Davon abgesehen, bin ich auch bei tesso. Der Code sieht umständlich aus. Vielleicht lässt Du uns mal ein paar Zeilen Deiner CSV-Datei sehen (natürllich um sensible Informationen bereinigt) und erklärst kurz, was das eigentliche Ziel ist. Da kann man bestimmt was verbessern. Edit: Noch vergessen - Thema Datum formatieren: Get-Date -Format 'yyyyMMdd' -
Powershell führt Befehl falsch aus
BOfH_666 antwortete auf ein Thema von Lupus1 in: Windows Forum — Scripting
Wenn Du in Deinem richtigen Script nicht irgendwelche Credentials mitgeben musst, kannst Du doch dieses ganze Laufwerks-Geraffel überhaupt nicht. Benutze einfach den UNC-Pfad und gut ist!?