Запитувати певні облікові дані під час спроби відкрити файл на вікнах [закрито]


1

У мене є файл на Windows 7 і те, що я хочу зробити, це один раз, коли хтось намагається відкрити цей файл. Я хочу, щоб з'явилося вікно з проханням ввести ім'я користувача та пароль (це не пов'язано з обліковими даними вікон, ці облікові дані будуть зберігатися десь інший файл) і в залежності від введеного імені користувача та пароля файл буде скопійовано з одного місця в інше. Так, наприклад, якщо userA увійшов до системи з passUserA, то fileA буде скопійовано до папки призначення, якщо userB увійшов до системи з passUserB, то fileB буде скопійовано до папки призначення. Будь-які думки, будь ласка, як це можна зробити?


Ви можете надати більш детальну інформацію чому Ви хотіли або потребуєте такої поведінки?
— Jerome Indefenzo

@JeromeIndefenzo, оскільки в залежності від облікових даних користувача потрібно скопіювати файл у певному місці перед запуском програми.
— Tak

Я маю на увазі, які ці файли ви копіюєте, і де ви їх копіюєте? Хто буде використовувати облікові дані користувачів і до чого вони будуть звертатися? Який файл повинен запускати підказку для входу?
— Jerome Indefenzo

Поведінка, про яку ви просите, дуже гарна. Має бути кращий спосіб отримати потрібну функціональність без необхідності проходити вручну (перегляд відкриття файлу, керування обліковими даними користувача, копіювання файлів тощо).
— Jerome Indefenzo

@JeromeIndefenzo тому у мене є ярлик .exe програми, коли цей .exe файл запускається, він завантажує початковий файл, збережений у певному місці, яке завантажується в додатку. Таким чином, у мене є два запуску файлів і в залежності від облікових даних користувача, один з цих файлів запуску буде скопійовано до місця запуску файлу, тому, коли я двічі клацніть на ярлику або самому EXE, я хочу мати це ім'я користувача введення пароля і залежно від них буде завантажено правильний файл запуску, після чого програма відкриється.
— Tak

Відповіді:


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

Цей скрипт насправді не перевірятиме облікові дані, тільки щоб було обрано правильне ім'я користувача. Таким чином можна виконати будь-яку кількість дій, і користувач все одно зможе безпосередньо запустити виконуваний файл, якщо він / вона цього захоче.


чи можна зробити цей скрипт захищеним, щоб ніхто не міг його редагувати або бачити ім'я користувача та пароль?
— Tak

Не можна приховати ім'я користувача як пароль, якщо ви зберігаєте його в цьому файлі. Замість цього можна використовувати хеш. Це зробить це трохи складніше. Для захисту можна видалити права на запис / зміну для звичайних користувачів зі сценарію.
— Seth
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.