Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWünsch Dir wasWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Excel mit Parametern aus Powershell heraus öffnen

Mitglied: Doskias

Doskias (Level 1) - Jetzt verbinden

10.09.2020, aktualisiert 21.09.2020, 496 Aufrufe, 14 Kommentare

Hallo zusammen,

wir haben auf Grund von Migrationsprojekten derzeit verschiedene Excel-Versionen im Einsatz. Alls Version sind derzeit Office 2013, Office 2016 und Office 365 im Einsatz. Wir haben 74 Excel-Dateien auf dem Fileserver. Diese Excel-Dateien müssen von alle 3 Office Versionen sowohl schreiben, aber auch in gewissen Fällen auch nur Schreibgeschützt geöffnet werden. Dabei kann es sei, dass die selbe Person am Montag die Datei beschreiben muss, am Dienstag aber nur schreibgeschützt öffnet. Eine Eingruppierung mit Dateiberechtigungen fällt daher aus. Wir haben dazu für die Excel-Dateien einfach eine Verknüpfung erstellt und den Parameter /r mitgegeben. Die sieht zum Beispiel nun so aus:
oder aber auch so:
um nur zwei Beispiele zu nennen. Ich möchte nun nicht zu jeder der Excel-Datei noch eine zusätzliche Verknüpfung erstellen.

Mein Gedanke war, ein PS-Skript anstatt der Verknüpfung abzulegen, welches prüft, welche Excel-Version installiert ist und dann den entsprechenden Pfad aufzurufen. Die Prüfung nach dem Pfad ist kein Problem. Das Funktioniert. Es scheitert am Start von Excel.

Folgendes habe ich bereits versucht:
Dies führt dazu, dass Powershell meckert, dass der Parameter /r nicht als Argument von Start-Prozess erkannt wurde (ist ja auch richtig)

Dies führt dazu, dass C:\Program nicht als ausführer Prozess identifiziert wurde, da es den Pfad nicht gibt.

Führt dazu, dass absolut nichts passiert

Startet Excel.

Die Frage ist also, wie muss ich den Start-Process-Befehl schreiben, damit ich eine Datei mitgeben kann, die dann nur schreibgeschützt geöffnet wird. Oder geht das an dieser Stelle nicht?

Ich möchte es sauber lösen (falls möglich). Ich habe natürlich auch schon darüber nachgedacht die Excel-Datei einfach nach C:\Temp zu kopieren und dann mit
zu starten, aber die Lösung finde ich Powershell gegenüber ungerecht

Gruß
Doskias
Mitglied: godlie
10.09.2020 um 12:35 Uhr
Hallo,

also wenn ichs recht im Kopf habe solltest du mit -FilePath und -ArgumentList zum Ziel kommen:

Bitte warten ..
Mitglied: Doskias
10.09.2020 um 12:44 Uhr
Sorry Fehler von mir. man kann versuchen es ausführlich zu schreiben wie man möchte, man vergisst doch noch was. Die Option hatte ich auch schon versucht, genau wie:
Problem und oben vergessen zu sagen. Die Datei enthält immer die Kombination Leezeichen Minus Leerzeichen. Bei deiner (und bei meiner) Verwendung der ArgumentList, wird es als 2 Dateien interpretiert.
Bitte warten ..
Mitglied: TK1987
LÖSUNG 10.09.2020, aktualisiert um 14:35 Uhr
Moin,

Powershell kann Excel. Du brauchst auch gar nicht überprüfen, welche Version von Excel installiert ist.

Allerdings stellt sich die Frage, ob es nicht sinnvoller wäre, Kontextmenüeinträge für Excel-Dateien zu erstellen - sodass der Nutzer nur mit Rechtsklick auf eine Arbeitsmappe klicken braucht und dann die Auswahl hat, ob er normal oder schreibgeschützt öffnen will.

Gruß Thomas
Bitte warten ..
Mitglied: godlie
LÖSUNG 10.09.2020 um 12:54 Uhr
Hallo,

das sollte sich mit ein bisschen Quoting schon ausgehen

Bitte warten ..
Mitglied: Doskias
15.09.2020 um 08:30 Uhr
Die Lösung funktioniert, allerdings bleibt Excel nicht im Vordergrund. Das Stört mich etwas. Allerdings war der Hinweis, dass Powershell Excel kann Goldwert.
Bitte warten ..
Mitglied: Doskias
15.09.2020 um 08:31 Uhr
Dank dem Hinweis von TK1987, dass Powershell Excel kann, sieht es jetzt einfach so aus:

Bitte warten ..
Mitglied: TK1987
15.09.2020, aktualisiert um 09:12 Uhr
Zitat von Doskias:
Dank dem Hinweis von TK1987, dass Powershell Excel kann, sieht es jetzt einfach so aus:
Das Ganze geht gänzlich ohne Start-Process:
Kontextmenüeinträge zu erstellen kommt für dich nicht in Frage?!

Gruß Thomas
Bitte warten ..
Mitglied: Doskias
15.09.2020 um 09:24 Uhr
Zitat von TK1987:
Kontextmenüeinträge zu erstellen kommt für dich nicht in Frage?!


Darüber habe ich schon nachgedacht. Aber die Anwender sind es gewohnt die Daten mit einem Doppelklick zu öffnen.
Bitte warten ..
Mitglied: TK1987
15.09.2020 um 09:51 Uhr
Zitat von Doskias:
Aber die Anwender sind es gewohnt die Daten mit einem Doppelklick zu öffnen.
Dann verstehe ich wiederum nicht, was du da eigentlich zu tun versuchst. Wenn die Anwender das Ganze per Doppelklick öfnnen sollen, bringt dich ein Start-Process auch nicht weiter. Dann bleiben dir nur 2 Möglichkeiten:

  • Für jede Excel-Datei eine Verknüpfung anlegen, um diese schreibgeschützt öffnen zu können (die Verknüpfungen könnte man ja per Powershell anlegen lassen)
  • Eine kleine grafische Oberfläche vorschalten, die beim Doppelklick auf eine Exceldatei abfragt, ob Normal oder Schreibgeschützt geöffnet werden soll.
Bitte warten ..
Mitglied: Doskias
15.09.2020 um 10:52 Uhr
Zitat von TK1987:

Für jede Excel-Datei eine Verknüpfung anlegen, um diese schreibgeschützt öffnen zu können (die Verknüpfungen könnte man ja per Powershell anlegen lassen)

Genau das haben wir jetzt jetzt. Eine Verknüpfung für jede Excel-Datei. Jetzt haben wir allerdings verschiede Excel-Versionen durch ein Migrationsprojekt. Daher will ich die Excel-Verknüpfung durch ein PS-Skript ersetzen, damit es nicht zwei Verknüpfungen gibt. Bisher macht der Anwender ein Doppelklick auf eine Verknüpfung, die jedoch Wahlweise officve15 oder Office16 im Pfad haben muss. Künftig macht er nun einen Doppelklick auf ein eine Batch-Datei, die dann das PS-Skript ausführt welches mit Start-Process Excel (egal welche Version) öffnet.

Technisch keine schöne Lösung aber für die Migrationszeit akzeptabel und für den Anwender ändert sich nichts.
Bitte warten ..
Mitglied: TK1987
15.09.2020 um 14:22 Uhr
Zitat von Doskias:
Jetzt haben wir allerdings verschiede Excel-Versionen durch ein Migrationsprojekt. Daher will ich die Excel-Verknüpfung durch ein PS-Skript ersetzen, damit es nicht zwei Verknüpfungen gibt.
Ok, dann noch ein anderer Vorschlag: Füge doch auf den Clients den Office-Ordner zur Path-Variable hinzu. Dann brauchst du in der Verknüpfung auch nur noch
ausführen und das Ganze funktioniert komplett ohne Powershellskript.
Bitte warten ..
Mitglied: Doskias
16.09.2020 um 10:07 Uhr
Auf die Idee bin ich gar nicht gekommen. Habe es jetzt erstmal an 3 Rechnern erfolgreich getestet. GPO ist geschrieben und wird verteilt. Ab morgen kann ich dann die Verknüpfungen umstellen. Danke für den Denkanstoß mit den Umgebungsvariablen.
Bitte warten ..
Mitglied: Doskias
21.09.2020 um 15:45 Uhr
So, ich musste die Bewertung nun noch einmal zurücknehmen. Die Aktuelle Situation ist nun wie folgt:

Ich verteile via GPO die Variable Office. Basierend auf der Zielgruppenadressierung (OS ist nicht Windows 10) gibt es den Pfad
bzw. (OS ist Windows 10)
Das Funktioniert. Ich gelange mit %Office% in den entsprechenden Ordner. Ich habe die Verknüpfungen nun wie folgt angelegt:
%office%\excel.exe /r "Dateipfad"

Soweit so gut. Es funktioniert nun wie gewünscht. Klicke ich die Datei an, geht sie bei mir direkt auf. Jetzt wird es kurios. Öffne ich auf einem Windows 8 Arbeitsplatz nun diese Verknüpfung, sagt mir Windows, dass er den Pfad nicht öffnen kann. Als Pfad wird hier allerdings C:\Program Files\Microsoft Office\root\Office16\ angezeigt, also der Pfad von Windows 10, dem Rechner an dem ich die Verknüpfung bearbeitet habe. Zielort der Verknüpfung ist allerdings %office% und Ziel ist wie geplant %office%\Excel.exe. Die Systemvariable Office zeigt wie geplant allerdings auf C:\Program Files\Microsoft Office 15\root\office15. Daher nun die Frage: Wo ist mein Denkfehler bzw. der Fehler in meinen Einstellungen?

Meinem Verständnis nach hätte auf dem Windows 8 Rechner durch %office%\Excel.exe die Excel-Datei aus dem Office15 geöffnet werden müssen, auch wenn es bei mir Office16 ist.

Das ganze Spiel kann ich übrigens auch Rückwärts aufbauen. Wenn ich eine dieser angepassten Verknüpfungen nun auf einem Windows 8 Rechner öffne und neu speichere, können die Windows 10 Rechner die Datei nicht mehr öffnen.
Bitte warten ..
Mitglied: TK1987
22.09.2020 um 07:56 Uhr
Moin,

Zitat von Doskias:
Meinem Verständnis nach hätte auf dem Windows 8 Rechner durch %office%\Excel.exe die Excel-Datei aus dem Office15 geöffnet werden müssen, auch wenn es bei mir Office16 ist.
Eben genau das hätte ich auch so erwartet...

... habe es gerade mal hier getestet. Leider scheint Windows beim Anlegen einer Verknüpfung alle Variablen aufzulösen - selbst wenn diese mit Powershell erstellt und der Pfad mit den Variablen in Single Quotes geschrieben wird.

Scheint auch keine Möglichkeit zu geben, dieses Verhalten zu umgehen. Damit sind Umgebungsvariablen in Verknüpfungen defacto leider nutzlos.

Bleibt dann wohl doch nur der Umweg über ein Skript, sorry.

Gruß Thomas
Bitte warten ..
Ähnliche Inhalte
VB for Applications

Powershell Script aus VBA heraus ausführen

Frage von mcnico1978VB for Applications2 Kommentare

OS: Windows 10 Office 2016 Hallo Leute, Ich möchte aus VBA heraus ein Powershell Script (dies beinhaltet Citrix Befehle ...

Batch & Shell

Excel mit Powershell formatieren

Frage von TastuserBatch & Shell13 Kommentare

Hallo, ist es möglich eine Excel-Datei mit Powershell zu formatieren? - Bestimmte Zellen bekommen eine bestimmte Größe - Bestimmte ...

Batch & Shell

Powershell excel Zeilen entfernen

Frage von BlueEyePhoenixBatch & Shell5 Kommentare

Hallo Commuity, ich hab da mal ein Problem bei dem ich nicht weiterkomme. Ich habe eine Excelliste mit ca ...

Exchange Server

Connect-msolservice aus Powershell heraus nicht funktional Exchange Online

gelöst Frage von Ex0r2k16Exchange Server4 Kommentare

Hallo! Ich fahre hier eine hybride Exchange Umgebung mit On-Prem und online Exchange. Die Authentifzierung erfolgt über ADFS und ...

Batch & Shell

Passwort geschützte Excel mit Powershell öffnen

gelöst Frage von Stefan91Batch & Shell19 Kommentare

Hallo Zusammen, ich habe folgendes Problem: Ich habe ein Script in Powershell erstellt, dass mir eine Passwort geschützte Excel ...

Batch & Shell

Powershell Excel Tabellenblatt je Benutzer öffnen

gelöst Frage von subseven77Batch & Shell5 Kommentare

Hallo! Ich habe folgendes Problem. Mehrere Benutzer schreiben in eine Excel Datei. Zu jedem Benutzer gibt es ein Tabellenblatt. ...

Heiß diskutierte Inhalte
Batch & Shell
Mehrere Server anpingen positive und negative Ergebnis in Datei schreiben
Frage von tommhiiBatch & Shell27 Kommentare

Hallo ich hab eine Frage ich habe in einer Liste mehrere Server eingetragen die ich per batch anpingen will. ...

Schulung & Training
Präsentation mit Gestensteuerung (Schnipsen)
gelöst Frage von battalgaziSchulung & Training18 Kommentare

Hallo, ich habe vor kurzem an einer MLP Paresentation teilgenommen, der Dozent hat mit einem Schnipsen die Folien gesteuert. ...

Microsoft Office
Office 2010 Starter SetupConsumerC2ROLW.exe Datei
gelöst Frage von ITAzubi2Microsoft Office18 Kommentare

Moin moin, ich bin frischer IT Azubi und soll auf ein neues Notebook mit Win 10 Office 2010 Starter ...

Webbrowser
Websites als site.mht abspeichern wie im "guten" alten IE
Frage von DerWoWussteWebbrowser16 Kommentare

Servus. Eine kleine, niedliche Frage für den Freitagnachmittag: Wer wie ich öfter Anleitungen von Websites abspeichern möchte, kennt das ...

JavaScript
Subtraktion in Javascript für ausfüllbares PDF
gelöst Frage von imebroJavaScript15 Kommentare

Hallo liebe User, ich habe ein Adobe PDF-Dokument in ein ausfüllbares PDF-Dokument umgewandelt. Grds. funktioniert alles sehr gut. Auch ...

Switche und Hubs
Aruba VSF-2930F DHCP Problem
Frage von fbe280tSwitche und Hubs15 Kommentare

Hallo Ihr da draußen, wir haben drei Aruba VSF-2930F zu einem virtuellen Switch zusammengefügt und haben dort mehrere V-Lans ...

Administrator Magazin
10 | 2020 Nicht erst durch die Corona-Krise sahen sich viele Firmen damit konfrontiert, dass sich Mitarbeiter von unterschiedlichen Geräten und verschiedensten Lokationen aus anmelden. Daher sind hier neue Konzepte für das Berechtigungs- und Identitätsmanagement gefragt, die einerseits die Sicherheit erhöhen und andererseits Nutzern die nötige Flexibilität ...
Best VPN