У меня есть файл на 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
Этот скрипт НЕ будет проверять учетные данные, а только то, что выбрано правильное имя пользователя. Вы можете выполнить любое количество действий таким образом, и пользователь все равно сможет запустить исполняемый файл напрямую, если захочет.