Jump to content

BOfH_666

Expert Member
  • Gesamte Inhalte

    2.101
  • Registriert seit

  • Letzter Besuch

Alle erstellten Inhalte von BOfH_666

  1. neee ..... "... Sätze beenden." ... hätte da jetzt kommen müssen.
  2. Als wären wir seelenverwandt ... im richtigen Leben würden wir gegenseitig unsere ......
  3. 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?
  4. .... 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.
  5. 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.
  6. 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.
  7. 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.
  8. 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.
  9. KÖNNTEST DU DEIN SCRIPT AUCH MIT DEM UNC-PFAD BENUTZEN???????
  10. 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.
  11. Versuch mal zusätzlich die Option "/XJ" für robocopy.
  12. Ich würde den UNC-Pfad benutzen.
  13. OK ... dann versuch doch mal, den Backslash noch dranzuhängen und schau was robocopy draus macht.
  14. Hmmm ... ok, nochmal ... brauchst Du denn zwingend einen Laufwerksbuchstaben? Oder geht es auch mit dem UNC-Pfad?
  15. Kommentier mal bitte den robocopy Teil aus und lass Dir die Zielpfade ausgeben .... sie sollten mit einem Backslash enden.
  16. 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.
  17. 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"
  18. ... 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?
  19. 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.
  20. 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'
  21. 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!?
  22. Hmmm ... darf ich fragen, warum Du dem Laufwerk C: einen neuen Buchstaben zuweisen möchtest?
  23. ... schon mit break versucht? Vielleicht gibt es ja auch einen besseren Weg. Eine Schleife vorzeitig zu verlassen, fühlt sich für mich immer wie Koitus Interruptus an .... ich versuch's zu vermeiden. Wenn Du sowieso nur die ersten beiden Zeilen verarbeiten möchtest, kannst Du doch mit Select-Object -First 2 prima die Ausgabe darauf einschränken und brauchst nicht hinterher solche Klimmzüge machen.
  24. ... nu gönn' mir doch auch mal meinen Spaß!!
  25. Hey hey ... gute Idee ... meine letzte Begegnung mit einer CNC-Maschine ist ca 35 Jahre her ... ich vermute mal, da hat sich inzwischen ein bissl was getan. ... manche von den Dingern waren noch nicht mal CNC - die waren nur NC-Maschinen. So ... ich hab das Script noch mal etwas umgebaut ... diesmal mit einem kleinen Extra-Dreh. Du brauchst jetzt nur noch den numerischen Offset angeben, den Du zu den Werten addieren möchtest, die vom CNC-Programm nicht die gewünschten Werte mitbekommen haben. Wenn in der Original-Datei z.B. "SetWorkpieceSetupPosition(0.0000, 0.0000, 0.0, 0.0);" steht, dann brauchst Du nur 4,5 und 6.7 für X und Y angeben, dann erhältst Du in der Ausgabe-Datei "SetWorkpieceSetupPosition(4.5000, 6.7000, 0.0, 0.0);" ... das gleiche für den Wert des 5. Arguments von "TypeOfProcess.Drilling". Viel Spaß!
×
×
  • Neu erstellen...