как сохранить значение между сессиями?

Strange40
Дата: 08.05.2017 04:14:02
Есть вот такая задумка:
юзер выполняет некий скрипт - .bat или ps, в процессе выполнения вводит некий пароль.
Есть ли возможность сохранить этот пароль где-то в _памяти_, так чтобы при следующем вызове этого же скрипта пароль не нужно было вводить снова, а он брался бы откуда-то из памяти. Естественно, сохранять в файл ничего нельзя, и когда юзер закрывает сессию Windows, данные должны уничтожаться.
Как бы это сделать, хотя бы общие идеи?
Никаких сторонних утилит использовать нельзя, система не разрешает ничего устанавливать.
Dimitry Sibiryakov
Дата: 08.05.2017 13:32:40
Переменные окружения.
Dima T
Дата: 08.05.2017 13:46:24
При записи в реестр можно использовать ключ REG_OPTION_VOLATILE
автор
https://msdn.microsoft.com/ru-ru/library/windows/desktop/ms724844(v=vs.85).aspx

REG_OPTION_VOLATILE
0x00000001L

All keys created by the function are volatile. The information is stored in memory and is not preserved when the corresponding registry hive is unloaded. For HKEY_LOCAL_MACHINE, this occurs only when the system initiates a full shutdown.
Strange40
Дата: 08.05.2017 18:56:32
Dimitry Sibiryakov
Переменные окружения.

но ведь переменные сохраняются где-то в registry. Не годится. Если юзер разлогинился, значение должно исчезать бесследно и навсегда.
Strange40
Дата: 08.05.2017 19:00:00
Dima T
При записи в реестр можно использовать ключ REG_OPTION_VOLATILE
автор
https://msdn.microsoft.com/ru-ru/library/windows/desktop/ms724844(v=vs.85).aspx

REG_OPTION_VOLATILE
0x00000001L

All keys created by the function are volatile. The information is stored in memory and is not preserved when the corresponding registry hive is unloaded. For HKEY_LOCAL_MACHINE, this occurs only when the system initiates a full shutdown.

Очень интересно, спасибо.
А есть способ создать registry key из powershell или через cmd (.bat)?
Как я понимаю, нужно вызвать RegCreateKeyEx, как?
Dimitry Sibiryakov
Дата: 09.05.2017 13:59:26
Strange40
но ведь переменные сохраняются где-то в registry. Не годится. Если юзер разлогинился, значение должно исчезать бесследно и навсегда.

Не сохраняются. Они исключительно в памяти текущего процесса и его наследников. При завершении процесса - бесследно исчезают.
Dima T
Дата: 09.05.2017 17:19:46
Strange40
А есть способ создать registry key из powershell или через cmd (.bat)?
Как я понимаю, нужно вызвать RegCreateKeyEx, как?

powershell не знаю, гугли, вроде есть какие-то средства работы с реестром
ShSerge
Дата: 09.05.2017 17:27:00
Dimitry Sibiryakov
Переменные окружения.

Именно так.
Strange40
Дата: 09.05.2017 18:21:42
Dimitry Sibiryakov
Strange40
но ведь переменные сохраняются где-то в registry. Не годится. Если юзер разлогинился, значение должно исчезать бесследно и навсегда.

Не сохраняются. Они исключительно в памяти текущего процесса и его наследников. При завершении процесса - бесследно исчезают.

какое-то разночтение. environment variables в Windows записаны в registry.
Если вы говорите про переменные, которые объявляются в shell, то я же сказал - они должны сохраняться после завершения процесса shell.
Вы о чем вообще?
Dima T
Дата: 09.05.2017 18:35:07
Strange40
Как я понимаю, нужно вызвать RegCreateKeyEx, как?

Явно вызывать RegCreateKeyEx не обязательно, достаточно разобраться может ли powershell работать с реестром в VOLATILE режиме, т.е. powershell вызовет.