У меня есть файл на Windows 7, и я хочу, чтобы, как только кто-то пытается открыть этот файл, я хочу, чтобы появилось окно с запросом имени пользователя и пароля (что не связано с учетными данными Windows, эти учетные данные будут храниться где-то другой файл) и в зависимости от введенного имени пользователя и пароля файл будет скопирован из одного места в другое. Так, например, если пользователь A вошел в систему с помощью passUserA, то fileA будет скопирован в папку назначения, если пользователь 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
Этот скрипт НЕ будет на самом деле проверять учетные данные, просто будет выбрано правильное имя пользователя. Таким образом, вы можете выполнить любое количество действий, и пользователь все равно сможет запустить исполняемый файл напрямую, если захочет.