Passwort in Kommandozeile?

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Passwort in Kommandozeile?

Re: Passwort in Kommandozeile?

von UweRammelt » Fr, 16.09.2016 17:48

So, nun hat mich doch der Ehrgeiz gepackt und ich hab's mir nach AutoIt portiert (mit einigen Schwierigkeiten).
Aber final läuft es :D

Schönen Dank noch mal!

Viele Grüße,
Uwe

Re: Passwort in Kommandozeile?

von UweRammelt » Do, 15.09.2016 09:55

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

Re: Passwort in Kommandozeile?

von Stephan » Mi, 14.09.2016 11:42

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.
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):

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)
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
Ich verstehe dann nur nicht warum Du das Passwort in den Dialog (automatisiert) eingeben willst, statt es direkt in AutoIT oder Delphi zu übergeben.

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

Re: Passwort in Kommandozeile?

von UweRammelt » Mi, 14.09.2016 10:53

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!

Re: Passwort in Kommandozeile?

von Stephan » Mi, 14.09.2016 10:35

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):

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
Gruß
Stephan

Re: Passwort in Kommandozeile?

von lorbass » Di, 13.09.2016 16:28

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.

Passwort in Kommandozeile?

von UweRammelt » Di, 13.09.2016 15:32

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

Nach oben