尝试在 Windows 上打开文件时要求输入某些凭据

尝试在 Windows 上打开文件时要求输入某些凭据

我在 Windows 7 上有一个文件,我想要做的是,一旦有人尝试打开此文件,我希望出现一个窗口,要求输入用户名和密码(这与 Windows 凭据无关,这些凭据将存储在另一个文件中的某个位置),并且根据输入的用户名和密码,文件将从一个位置复制到另一个位置。例如,如果用户 A 使用 passUserA 登录,则文件 A 将被复制到目标文件夹,如果用户 B 使用 passUserB 登录,则文件 B 将被复制到目标文件夹。请问有什么想法可以做到这一点?

答案1

创建一个执行必要设置的脚本,并使用快捷方式而不是实际的可执行文件来调用该脚本。脚本将启动可执行文件。这很容易被篡改,因此实际上并不提供任何安全性。您必须使用Set-ExecutionPolicy来允许执行 PowerShell 脚本。

脚本本身(保存为.ps1文件)可能如下所示:

$credentials = Get-Credential

if ($credentials.Username -eq 'DOMAIN\User') {
    Copy-Item fromhere\startup1 tothere
} elseif {
    Copy-Item fromhere\startup2 tothere
}

MyProgram.exe

此脚本实际上不会验证凭证,而只是验证选择了正确的用户名。您可以通过这种方式执行任意数量的操作,并且用户仍然能够直接启动可执行文件(如果她/他愿意的话)。

相关内容