![Wie lässt sich eine Datei zum Bearbeiten am besten von einer Webseite aus öffnen?](https://rvso.com/image/1417395/Wie%20l%C3%A4sst%20sich%20eine%20Datei%20zum%20Bearbeiten%20am%20besten%20von%20einer%20Webseite%20aus%20%C3%B6ffnen%3F.png)
Ich suche nach einer Möglichkeit, einen Index der Dateien auf einer Webseite zu erstellen, die in unserem Intranet gehostet wird.
Die Dateien liegen auf verschiedenen Netzwerkfreigaben, z.B. \nas\documents\tender.doc
Wenn ein Benutzer auf die Datei klickt, soll die Datei auf seinem PC mit dem Programm geöffnet werden, das er damit verknüpft hat. Beispielsweise *.txt mit Notepad++, *.doc mit Word usw.
Der Benutzer muss die Datei bearbeiten und sie dann an ihrem ursprünglichen Speicherort speichern können.
Ich möchte nicht, dass der Benutzer die Datei herunterladen, bearbeiten und dann hochladen muss.
Antwort1
Verwenden Sie denselben psexec
Befehl, jedoch ohne -p SomePassword
. Sie sollten aufgefordert werden, das Kennwort einzugeben, und Ihre Eingabe wird nicht auf dem Bildschirm angezeigt.
Wenn dies Teil eines Batch-Skripts ist, fügen Sie Folgendes am Anfang des Skripts ein:
@ECHO OFF
Dadurch wird die Befehlsausgabe an das Terminal deaktiviert, sodass die Befehle im Skript während der Ausführung nicht angezeigt werden. Die Befehlsausgabe wird jedoch weiterhin angezeigt.
Wenn Sie die Befehlswiedergabe eingeschaltet lassen, aber nur diesen ausblenden möchten, stellen Sie ihm ein @
Zeichen voran. Beispiel:
@ PSExec.exe -accepteula -h -d -u someUser -p somePassword -i 1 C:\WINDOWS\SYSTEM32\CMD.EXE /c start "" "C:\WINDOWS\SYSTEM32\CALC.EXE
Bedenken Sie, dass das Passwort in der Skriptdatei weiterhin als Klartext verfügbar ist. Im Allgemeinen ist das keine gute Idee.
Antwort2
Mit PowerShell können Sie den Benutzernamen und das verschlüsselte Passwort in einer Textdatei speichern. Die automatisierte Aufgabe kann die Anmeldeinformationen aus der Textdatei lesen und ein PSCredential-Objekt erstellen.Start-Prozessum die ausführbare Datei mit diesen Anmeldeinformationen zu starten.
Speichern Sie die Anmeldeinformationen:
$path = <path_to_text_file> Read-Host "Username" | Out-File $path Read-Host "Password" -AsSecureString | ConvertFrom-SecureString | Out-File -Append $path
Beachten Sie, dassKonvertieren von SecureStringtutnichtentschlüsselt die sichere Zeichenfolge in Klartext; es konvertiert sie in Kryptotext, der in einer Datei gespeichert werden kann. Nach dem Ausführen haben Sie eine Datei mit zwei Zeilen. Zeile 1 enthält den Benutzernamen und Zeile 2 das verschlüsselte Passwort.
Lesen Sie in der automatisierten Aufgabe die Anmeldeinformationen und verwenden Sie sie, um die ausführbare Datei im Kontext dieses Kontos zu starten:
$stored_creds = Get-Content <path_to_text_file> $username = $stored_creds[0] $password = $stored_creds[1] | ConvertTo-SecureString $credential = New-Object System.Management.Automation.PSCredential $username, $password Start-Process <path_to_executable> -Credential $credential
Beachten Sie, dass
<path_to_executable>
es sich dabei nur um den Pfad zur ausführbaren Datei handelt, nicht um die vollständige Befehlszeile ('C:\Windows\System32\calc.exe'
in Ihrem Beispiel). Wenn Sie Argumente haben, fügen Sie diese an-ArgumentList <the_rest_of_the_command_line>
.