Passwort in Kommandozeile?
Moderator: Moderatoren
-
- **
- Beiträge: 28
- Registriert: So, 06.07.2008 19:42
Passwort in Kommandozeile?
Hallo Zusammen!
Weiß jemand, ob ich ein passwortgeschütztes Dokument per Kommandozeile öffnen kann?
Meine Vorstellung:
scalc.exe Datei.ods /MeinPasswort
Wäre für einen Hinweis dankbar!
Uwe
Weiß jemand, ob ich ein passwortgeschütztes Dokument per Kommandozeile öffnen kann?
Meine Vorstellung:
scalc.exe Datei.ods /MeinPasswort
Wäre für einen Hinweis dankbar!
Uwe
Re: Passwort in Kommandozeile?
In der Programmhilfe (→ F1) sind unter dem Titel Starten von LibreOffice mit Parametern die gültigen Befehlszeilenparameter aufgeführt. Eine Option zur verdeckten oder auch offenen Passworteingabe finde ich bei mir nicht (LibreOffice 4.2.8.2)!
Gruß
lorbass
_______________
BTW: In deinem Benutzerprofil scheint die Verwendung eines Avatars zwar aktiviert worden zu sein, allerdings ohne auch tatsächlich einen Avatar zur Verwendung zu definieren.
Gruß
lorbass
_______________
BTW: In deinem Benutzerprofil scheint die Verwendung eines Avatars zwar aktiviert worden zu sein, allerdings ohne auch tatsächlich einen Avatar zur Verwendung zu definieren.
Re: Passwort in Kommandozeile?
Abhängig vom Betriebssystem könntest Du alternativ zur Laufzeit mit dem Makro ein Script indirekt ausführen, unter MS Windows z.B. ein VB-Script.
Beispiel (nicht getestet):
Gruß
Stephan
Beispiel (nicht getestet):
Code: Alles auswählen
Sub Datei_oeffnen()
oleService = createUnoService("com.sun.star.bridge.OleObjectFactory")
WSH= oleService.createInstance("MSScriptControl.ScriptControl")
WSH.Language = "VBScript"
vbs=vbs+"Set ser_man = WScript.CreateObject(""com.sun.star.ServiceManager"")"+Chr(10)
vbs=vbs+"Set desk = ser_man.createInstance(""com.sun.star.frame.Desktop"")"+Chr(10)
vbs=vbs+"Dim arg(0)"+Chr(10)
vbs=vbs+"Set arg(0) = ser_man.Bridge_GetStruct(""com.sun.star.beans.PropertyValue"")"+Chr(10)
vbs=vbs+"arg(0).Name = ""PassWord"""+Chr(10)
vbs=vbs+"arg(0).Value = ""DasDateipasswort"""+Chr(10)
vbs=vbs+"Set Doc = desk.loadComponentFromURL(""private:factory/scalc"", ""_blank"", 0, arg())"+Chr(10)
WSH.ExecuteStatement(vbs)
End Sub
Stephan
-
- **
- Beiträge: 28
- Registriert: So, 06.07.2008 19:42
Re: Passwort in Kommandozeile?
Mojn Zusammen!
VB-Scripte: bin mir nicht sicher, ob ich das richtig verstanden habe, aber in der ODS-Datei ein Macro mit dem Passwort - dann kann ich mir das Passwort auch sparen.
In Windows selber sind VB-Scripte bei mir aus Sicherheitsgründen abgeschaltet.
Alternativ zum VB-Macro könnte ich mir aber eine Applikation (AutoIt oder Delphi) schreiben, die meine Datei aufruft, auf das Fenster der Passworteingabe wartet und dieses dann einträgt - nun, sooo viel Aufwand wollte ich da nicht betreiben
Idealerweise hätte es da den Kommandozeilenparameter "/Password: MeinPasswort" gegeben. Aber dem ist wohl nicht so ...
Trotzdem Danke!
VB-Scripte: bin mir nicht sicher, ob ich das richtig verstanden habe, aber in der ODS-Datei ein Macro mit dem Passwort - dann kann ich mir das Passwort auch sparen.
In Windows selber sind VB-Scripte bei mir aus Sicherheitsgründen abgeschaltet.
Alternativ zum VB-Macro könnte ich mir aber eine Applikation (AutoIt oder Delphi) schreiben, die meine Datei aufruft, auf das Fenster der Passworteingabe wartet und dieses dann einträgt - nun, sooo viel Aufwand wollte ich da nicht betreiben

Idealerweise hätte es da den Kommandozeilenparameter "/Password: MeinPasswort" gegeben. Aber dem ist wohl nicht so ...
Trotzdem Danke!
Re: Passwort in Kommandozeile?
Nein, meine Überlegung war falsch. Eigentlich war gemeint das Du ein VBScript über die KOmmandozeile starten sollst, z.B. sowas (getestet, läuft wie angegeben):VB-Scripte: bin mir nicht sicher, ob ich das richtig verstanden habe, aber in der ODS-Datei ein Macro mit dem Passwort - dann kann ich mir das Passwort auch sparen.
Code: Alles auswählen
'Achtung Visual Basic Script
Set ser_man = WScript.CreateObject("com.sun.star.ServiceManager")
Set desk = ser_man.createInstance("com.sun.star.frame.Desktop")
Dim arg(0)
Set arg(0) = ser_man.Bridge_GetStruct("com.sun.star.beans.PropertyValue")
arg(0).Name = "Password"
arg(0).Value = "abc"
Dim x
Set x = desk.loadComponentFromURL("file:///D:/Datei.ods", "_blank", 0, arg)
Ich verstehe dann nur nicht warum Du das Passwort in den Dialog (automatisiert) eingeben willst, statt es direkt in AutoIT oder Delphi zu übergeben.Alternativ zum VB-Macro könnte ich mir aber eine Applikation (AutoIt oder Delphi) schreiben, die meine Datei aufruft, auf das Fenster der Passworteingabe wartet und dieses dann einträgt - nun, sooo viel Aufwand wollte ich da nicht betreiben
Zumindest für AutoIT findest Du genügend Beispielcode zu OpenOffice im Netz, so das Du obenstehendes WSH-Script auf AutoIT 'umprogrammieren' kannst und dann aus dem AutoIT-Script eine exe erzeugen. Dann steht das Passwort zwar in der exe, aber das ist doch zunächst genügend Schutz, damit nicht jeder gewöhnliche Nutzer das Passwort lesen kann.
Oder Du programmiert Dein AutoIT-Script gleich so das es als exe einen Parameter entgegennimmt dann kannst Du auf der Kommandozeile genau das tun was Du ursprünglich wolltest:
Code: Alles auswählen
DeinAutoITScript.exe passwort
Gruß
Stephan
-
- **
- Beiträge: 28
- Registriert: So, 06.07.2008 19:42
Re: Passwort in Kommandozeile?
Hallo Stephan,
habe das VBS mal getestet: es läuft tatsächlich einwandfrei!
Aaaber der Windows Scripting Host ist mir zu gefährlich - 90 % aller Schädlinge sind scriptbasierende Downloader, die von Virenscannern definitiv nicht erkannt werden (eigene Tests!).
Habe zwar Noscript und Werbeblocker im Firefox, aber man weiß ja nie ... ein kleiner Fehler ist schnell passiert.
Die Umsetzung nach AutoIt macht daher Sinn, dazu muss ich das Script aber erst mal verstehen
Im Fall AutoIt macht natürlich auch die Übergabe des Passworts an die AutoIt-Routine Sinn. Ein Sicherheitsrisiko besteht da aber nicht - die Systemplatte ist truecryptverschlüsselt. Und PINs und TANs stehen in der ODS auch nicht drin
Danke und schöne Grüße,
Uwe
habe das VBS mal getestet: es läuft tatsächlich einwandfrei!
Aaaber der Windows Scripting Host ist mir zu gefährlich - 90 % aller Schädlinge sind scriptbasierende Downloader, die von Virenscannern definitiv nicht erkannt werden (eigene Tests!).
Habe zwar Noscript und Werbeblocker im Firefox, aber man weiß ja nie ... ein kleiner Fehler ist schnell passiert.
Die Umsetzung nach AutoIt macht daher Sinn, dazu muss ich das Script aber erst mal verstehen

Im Fall AutoIt macht natürlich auch die Übergabe des Passworts an die AutoIt-Routine Sinn. Ein Sicherheitsrisiko besteht da aber nicht - die Systemplatte ist truecryptverschlüsselt. Und PINs und TANs stehen in der ODS auch nicht drin

Danke und schöne Grüße,
Uwe
-
- **
- Beiträge: 28
- Registriert: So, 06.07.2008 19:42
Re: Passwort in Kommandozeile?
So, nun hat mich doch der Ehrgeiz gepackt und ich hab's mir nach AutoIt portiert (mit einigen Schwierigkeiten).
Aber final läuft es
Schönen Dank noch mal!
Viele Grüße,
Uwe
Aber final läuft es

Schönen Dank noch mal!
Viele Grüße,
Uwe