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


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.