Как лучше всего открыть файл для редактирования с веб-страницы?

Как лучше всего открыть файл для редактирования с веб-страницы?

Я ищу способ создания индекса файлов на веб-странице, размещенной в нашей интрасети.

Файлы расположены на различных сетевых ресурсах, например \nas\documents\tender.doc

Когда пользователь нажимает на файл, я хочу, чтобы файл открывался на его ПК с помощью любой программы, с которой он связан. Например, *.txt открывается с помощью Notepad++, *.doc — с помощью Word и т. д.

Пользователь должен иметь возможность редактировать файл, а затем сохранять его в исходном месте.

Я не хочу, чтобы пользователю приходилось скачивать файл, редактировать его, а затем загружать.

решение1

Используйте ту же psexecкоманду, но без -p SomePassword. Вам будет предложено ввести пароль, и ваш ввод не будет отображаться на экране.

Если это часть пакетного скрипта, поместите в начало скрипта следующее:

@ECHO OFF

Это отключит эхо команд на терминале, поэтому команды в скрипте не будут отображаться по мере их выполнения. Вывод команд все равно будет отображаться.

Если вы хотите оставить команду echoing включенной, но просто скрыть эту, поставьте перед ней знак @. Пример:

@ PSExec.exe -accepteula -h -d -u someUser -p somePassword -i 1 C:\WINDOWS\SYSTEM32\CMD.EXE /c start "" "C:\WINDOWS\SYSTEM32\CALC.EXE

Имейте в виду, что пароль все равно будет доступен в виде открытого текста в файле скрипта. В общем, это плохая идея.

решение2

Используя PowerShell, вы можете сохранить имя пользователя и зашифрованный пароль в текстовом файле. Автоматизированная задача может прочитать учетные данные из текстового файла и создать объект PSCredential, использованиеНачало процессадля запуска исполняемого файла с использованием этих учетных данных.

  1. Сохраните учетные данные:

    $path = <path_to_text_file>
    Read-Host "Username" | Out-File $path
    Read-Host "Password" -AsSecureString | ConvertFrom-SecureString | Out-File -Append $path
    

    Обратите внимание, чтоConvertFrom-SecureStringделаетнетрасшифровать защищенную строку в обычный текст; он преобразует его в криптотекст, который можно сохранить в файле. После запуска у вас будет файл с двумя строками. Строка 1 содержит имя пользователя, а строка 2 содержит зашифрованный пароль.

  2. В автоматизированной задаче считайте учетные данные и используйте их для запуска исполняемого файла в контексте этой учетной записи:

    $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 
    

    Обратите внимание, что это <path_to_executable>именно так: путь к исполняемому файлу, а не полная командная строка ( 'C:\Windows\System32\calc.exe'в вашем примере). Если у вас есть какие-либо аргументы, добавьте -ArgumentList <the_rest_of_the_command_line>.

Связанный контент