从网页打开文件进行编辑的最佳方法是什么

从网页打开文件进行编辑的最佳方法是什么

我正在寻找一种方法来在我们内部网托管的网页上创建文件索引。

这些文件位于不同的网络共享位置,例如 \nas\documents\tender.doc

当用户单击文件时,我希望使用与文件关联的任何程序在其电脑上打开该文件。例如,使用 notepad++ 打开 *.txt,使用 word 打开 *.doc 等

用户需要能够编辑该文件,然后将其保存在原始位置。

我不希望用户必须下载文件、编辑它然后上传它。

答案1

使用相同的psexec命令,但不使用-p SomePassword。系统将提示您输入密码,并且您的输入不会显示在屏幕上。

如果这是批处理脚本的一部分,请将以下内容放在脚本的开头:

@ECHO OFF

这将禁用命令回显到终端,因此脚本中的命令在运行时不会显示。命令输出仍会显示。

如果要保留命令回显,但隐藏此命令,请在命令前加上一个@符号。例如:

@ 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>

相关内容