Jump to content

BOfH_666

Expert Member
  • Gesamte Inhalte

    2.035
  • Registriert seit

  • Letzter Besuch

Alle erstellten Inhalte von BOfH_666

  1. ... das nennt sich XY-Problem ... https://de.wikipedia.org/wiki/XY-Problem
  2. Jan hat Recht. Mein Fehler. Sorry. Ich hatte das ").FullName" beim "Zusammenbauen" des Codes wegegelassen und hatte deshalb noch das intakte Objekt zum Weiterarbeiten zur Verfügung. Hier also nochmal mein Vorschlag komplett, wie er eigentlich funktionieren sollte: $Excel = New-Object -Comobject Excel.Application $Excel.Visible = $true $Dir = 'C:\CADLINE\_Einzelteile' $Filepath = (Get-ChildItem $Dir -recurse | Where-Object name -like "*xlsm" | Sort-Object LastWriteTime -Descending)[0] $Workbook = $Excel.Workbooks.Open($Filepath.FullName) $Excel.Run("MCStudioExport") $Excel.ActiveWorkbook.Save() $Workbook.Close() $excel.Quit() & 'C:\Program Files\IrfanView\i_view64.exe' "$($FilePath.Directory.FullName)\*.emf" /convert="$($FilePath.Directory.FullName)\*.bmp" [System.GC]::Collect() [System.GC]::WaitForPendingFinalizers() [System.Runtime.Interopservices.Marshal]::ReleaseComObject($workBook) [System.Runtime.Interopservices.Marshal]::ReleaseComObject($excel) Remove-Variable -Name excel Hmmm ... ich würde dabei auch eine Fehlermeldung erwarten, aber auf der anderen Seite auch nicht, dass es funktioniert. Vielleicht versuchst Du einmal die Kommandozeile "manuell" einzugeben .... also & 'C:\Program Files\IrfanView\i_view64.exe' "C:\CADLINE\_Einzelteile\*.emf" /convert="C:\CADLINE\_Einzelteile\*.bmp"
  3. ok, dann mach ma bitte .\i_view64.exe "$($FilePath.Directory.FullName)*.emf" /convert="$($FilePath.Directory.FullName)*.bmp" Im Zweifel würd ich einfach den vollen Pfad der ausführbaren Datei angeben. ¯\_(ツ)_/¯ Noch ein Tipp: Wenn Du - aus welchem Grund auch immer - in ein spezielles Verzeichnis wechseln möchtest/musst, kannst Du mit "Push-Location -Path ...." in das gewünschte Verzeichnis wechseln und kommst dann mit "Pop-Location" wieder zurück zum ursprünglichen Verzeichnis.
  4. Etiketten-Drucken klingt wie eine Aufgabe, die wenigstens teilweise manuell ausgeführt wird. Also wäre vielleicht ein weiterer kleiner manueller Schritt kein allzu großer Bruch in Deinem Prozess. Du könntest ja schließlich mit dem Batch-Modus von IrfanView alle *.emf-Dateien in einem Rutsch in *.bmp-Dateien umwandeln Um's kurz zu machen ... ja - kann man. Da Du ja den Pfad der Excel-Datei bereits ermittelt hast und, wenn ich das richtig verstanden habe, die *.emf-Dateien im gleichen Ordner liegen, müsstest Du mit folgendem Schnipsel im Idealfall alle enthaltenen *.emf-Dateien umwandeln können. i_view64.exe "$($FilePath.Directory.FullName)\*.emf" /convert="$($FilePath.Directory.FullName)\*.bmp" Eventuell musst Du noch den vollen Pfad zu IrfnaView angeben und Du kannst natülich auch einen anderen Ausgabepfad für die *.bmp-Dateien angeben. Sollten für die Umwandlung noch weitere Kommandozeilenargumente nötig sein, musst Du Dir die aus der IrfanView-Hilfe suchen.
  5. Wie weit muss denn das automatisiert werden? Hast Du Dir IrfanView denn schon mal angeguckt? Wie gesagt - mit IrfanView kannst Du Format-Umwandlungen und Bild-Transformationen in einem Rutsch erledigen.
  6. Hast Du's mal mit dem Beispiel versucht, was in der enthaltenen Hilfe-Sektion gezeigt wird? Im Zweifel hättest Du den Autor des Codes befragen können .... Mit dieser Methode hast Du übrigens keine Möglichkeit, die Umwandlung irgendwie noch irgendwie zu beeinflussen. Bei IrfanView könntest Du noch an vielen kleinen Schräubchen drehen falls nötig.
  7. Das geht mit purem PowerShell eher nicht so einfach. Du könntest aber externe Tools wie z.B. ImageMagic mit einbinden und diese über die Kommandozeile mit den Bildern und zugehörigen Parametern füttern. Für Deinen Einsatz-Zweck deutlich besser geeignet wäre vermutlich IrfanView. Das hat einen Batch-Modus bei dem Du die gleichen Arbeits- und Umwandlungs-Schritte auf einen ganzen Schwung an Bild-Dateien anwenden kannst. Schau es Dir doch mal an.
  8. Vielleicht hilft Dir das hier weiter: https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_preference_variables?view=powershell-7.3#confirmpreference
  9. Hast Du die beiden letzten Fragen auch gelesen?
  10. Nur mal aus Neugier ... wie relevant ist denn dieses Szenario? Der Support für Windows 7 wurde ja schließlich vor mehr als 3 Jahren beendet .... ... und Server 2012 R2 sieht auch schon das Licht am Ende des Tunnels ...
  11. Ich gehe mal davon aus, dass Du "-EnableEndUserSpamNotifications" entsprechend auf "$true" gesetzt hast, richtig? In Deinen Screenshots wird doch aber eine "1" angezeigt?! ... oder ist das nicht die Einstellung, die Du mit dem PowerShell-Befehl gesetzt hast? Was ist denn das Ergebnis, wenn Du mit "Get-HostedContentFilterPolicy" die gemachten Einstellungen wieder ausliest? Kannst Du denn vielleicht mit "Set-HostedContentFilterPolicy" eine existierende Policy anpassen?
  12. Wenn Du fürchtest, dass was kaputt gehen könnte, richtest Du Dir Ordner mit Test-Daten ein und probierst es erstmal mit den Test-Daten. ¯\_(ツ)_/¯
  13. Willkommen im MCSEboard. Du könntest ein PowerShell-Skript erstellen, welches mit "Get-ChildItem" die Datei-Informationen einsammelt, mit "Group-Object" diese Infromationen dann nach der Eigenschaft "BaseName" gruppiert, dann mit "Where-Object" prüft, ob in einer Gruppe 2 oder mehr Elemente vorhanden sind und diese dann mit "Foreach-Object" entsprechend der Vorgaben entweder mit "Copy-Item" kopieren oder mit "Move-Item" verschieben.
  14. Könnte was kaputt gehen, wenn Du's einfach probiertest?
  15. Wenn wirklich Windows Server 2003 gemeint war, dann wow.
  16. Vielleicht oute ich mich jetzt als Noob, aber was genau ist "Windows 2003"?
  17. Ich empfehle, Dir IMMER die Hilfe für die cmdlets anzuschauen, die Du verwenden möchtest. Die enthalten fast immer Beispiele, die man sehr einfach an eigene Anforderungen anpassen kann. Auch wenn es meistens funktioniert - der Parameter-Typ für "-Filter" ist ein [STINRG] - kein Script-Block!! ... und die Property "Name" gehört zum Default-Subset, welches Get-ADObject sowieso automatisch ausgibt. Man braucht sie also nicht explizit mit dem Parameter "-Properties" anfordern.
  18. .... 'hatte ich tatsächlich nicht auf dem Schirm ... ich nutze schon ein paar Jahre keine Desktops mehr ... Danke. Klingt tatsächlich plausibel. Aber mein Notebook wacht auch kurz auf, bevor es dann in den Ruhezustand wechselt ...
  19. Wenn ich das noch richtig im Kopf habe, wird im Standby die meiste Peripherie abgeschaltet. Der Speicher und die CPU bleiben aber auf einem niedrigen Energie-Level aktiv. Für den Ruhezustand wird der Speicherinhalt auf die Platte geschrieben und dann der PC quasi heruntergefahren. Nach dem Aufwachen wird der auf die Platte geschriebene Inhalt wieder in den Speicher kopiert und das System macht an der Stelle weiter, wo es vor dem Ruhezustand aufgehört hat. Also "ja" - es ist normal, dass das System kurz wieder aufwacht, um in den Ruhezustand zu wechseln. Nur mal aus Neugier - was stört Dich daran? Ist der Lüfter etwa so laut, dass Du davon aufwachst?
  20. Ich bin absolut bei meinen "Vorrednern" ... ... der Ansatz klingt mehr als dubios und ich persönlich würde mich mit Händen und Füßen dagegen sträuben, da mitmachen zu müssen. Davon unabhängig ... ... ist das ein sehr unübliches Nutzungs-Szenario für PowerShell und meiner Meinung nach nicht das, wofür PowerShell gedacht ist. ... 'will sagen: das ist das falsche Tool für die Aufgabe. Ich hatte vor 15 Jahren oder so mal mit AutoHotkey etwas für einen Kunden gebastelt, was eine Dialogbox im Vollbild im Vordergrund geöffnet hat und zur Bedienung alle Tasten bis auf die 3 erlaubten und die Maus deaktiviert hatte. ... und bevor Du fragst - nein - ich habe das Script nicht mehr. Und noch ein allgemeiner Tipp für's Forum: Code kannst Du hier auch als Code formatieren ... das "</>", links neben dem Grinsegesicht in der Symbolleiste.
  21. Ohne auch nur ansatzweise Erfahrungen oder eine Ahnung zu haben ... wenn ich nach "powershell enduserspamnotificationFrequency" google, finde ich als ersten Treffer https://learn.microsoft.com/en-us/powershell/module/exchange/set-hostedcontentfilterpolicy?view=exchange-ps Und da gibt's einen Parameter "[-EndUserSpamNotificationFrequency <Int32>]". Hier der direkt link: https://learn.microsoft.com/en-us/powershell/module/exchange/set-hostedcontentfilterpolicy?view=exchange-ps#-enduserspamnotificationfrequency Probier ma!
  22. Ich würde erwarten, dass der Schalter eine Abfrage erzeugt, die um eine Bestätigung bittet und interaktiv beantwortet werden muss ... kann das sein? Wenn das so ist, solltest Du das auf jeden Fall entfernen. Gibt es keinen Schalter für "silent"?
  23. Ich vermute mal, dass Du schon danach gegoogelt hast und eigentlich bereits weißt, wie es funktioniert. Was genau an der Prozedur ist Dir denn unklar? Da gibt es eigentlich nicht viel falsch zu machen. Und nur aus Neugier ... ist das mit dem Admin abgestimmt? Willst Du das Gerät in ein "Privatgerät" umwandeln?
×
×
  • Neu erstellen...