| 
	Статус: Новичок
 Группы: Участники
 Зарегистрирован: 25.01.2024(UTC) Сообщений: 4  | 
            
		      
                Добрый день.Задача - посмотреть сертификаты в контейнере пользователя на удаленном сервере, контейнер установлен в реестре, логин и пароль пользователя известны.
 
 Если под пользователем войти на удаленный сервер и выполнить команду
 "C:\Program Files\Crypto Pro\CSP\certmgr.exe" -list -container "\\.\Registry\name_of_container" -silent 1>c:\!\Name_Of_Container.txt
 то информация о сертификате выводится в файл.
 
 Если создать задачу в Task Scheduler с такой же командой и выполнить ее, когда пользователя нет в системе, то файл не формируется.
 Если программно через WMI подключиться к удаленному серверу и выполнить эту же команду (InvokeMethod), то файл тоже не формируется.
 В последнем случае другие команды ОС отрабатывают нормально и соответствующие программы запускаются и выводят информацию в файл.
 
 Вопрос - certmgr работает только в интерактивном режиме?
 Можно как-то простыми командами (без asn1 парсинга ключа реестра header.key) получить свойства сертификата (издатель, субъект, срок действия)?
 
 | 
    | 
             | 
            
         | 
    |  | 
        
        
        
            
        
            
            
    | 
	Статус: Активный участник
 Группы: Участники
Зарегистрирован: 31.05.2016(UTC)
 Сообщений: 2,867
 
 Сказал(а) «Спасибо»: 654 разПоблагодарили: 506 раз в 477 постах
 
 | 
            
		      
                Автор: Flukostat  Вопрос - certmgr работает только в интерактивном режиме? Ключ хранится в улье пользователей, в который маппится файл реестра пользователя в момент авторизации этого самого пользователя в УЗ, что логично. Как вариант, Вы можете поступить следующим образом: 1. Определить "SID" нужного пользователя; 2. Смаппить файл улья пользователя в реестр в раздел "HKEY_USERS" под полученным "SID" в п.1; 3. Выполнить необходимую команду от имени пользователя. Как второй вариант, использовать: Код:psexec -u [username] -p [userpass] command
 , реестр пользователя в "HKEY_USERS" смаппится автоматически. | 
    | 
             | 
            
         | 
    |  | 
        
        
        
    
        
            
            
    | 
	Статус: Новичок
 Группы: Участники
 Зарегистрирован: 25.01.2024(UTC) Сообщений: 4  | 
            
		      
                Автор: nickm  Автор: Flukostat  Вопрос - certmgr работает только в интерактивном режиме? Ключ хранится в улье пользователей, в который маппится файл реестра пользователя в момент авторизации этого самого пользователя в УЗ, что логично. Как вариант, Вы можете поступить следующим образом: 1. Определить "SID" нужного пользователя; 2. Смаппить файл улья пользователя в реестр в раздел "HKEY_USERS" под полученным "SID" в п.1; 3. Выполнить необходимую команду от имени пользователя. Как второй вариант, использовать: Код:psexec -u [username] -p [userpass] command
 , реестр пользователя в "HKEY_USERS" смаппится автоматически. Не совсем так. Certmgr ничего не делает в реестре пользователя. Контейнеры КриптоПро для пользователя устанавливаются в реестре в HKLM\SOFTWARE\Wow6432Node\Crypto Pro\Settings\Users\SID_Of_User\Keys\Name_Of_Container. Certmgr обращается именно туда   Untitled.png (132kb) загружен 5 раз(а). | 
    | 
             | 
            
         | 
    |  | 
        
        
        
            
        
            
            
    | 
	Статус: Активный участник
 Группы: Участники
Зарегистрирован: 31.05.2016(UTC)
 Сообщений: 2,867
 
 Сказал(а) «Спасибо»: 654 разПоблагодарили: 506 раз в 477 постах
 
 | 
            
		      
                Автор: Flukostat  Не совсем так. Так, походу запутался, позже вернусь с проверенным ответом. UPD: Проверил, Ваш первоначальный сценарий полностью работоспособный - достаточно запустить сценарий от нужного пользователя через планировщик задач и никаких ошибок с доступом к контейнеру не возникает, поэтому не понятно, что у Вас вызвало вопрос, и Мне пришлось "нести чепуху" с подключением файлов реестров пользователей. Отредактировано пользователем 25 января 2024 г. 17:23:40(UTC)
 | Причина: Не указана | 
    | 
             | 
            
         | 
    |  | 
        
        
        
    
        
            
            
    | 
	Статус: Новичок
 Группы: Участники
 Зарегистрирован: 25.01.2024(UTC) Сообщений: 4  | 
            
		      
                Автор: nickm  Автор: Flukostat  Не совсем так. Так, походу запутался, позже вернусь с проверенным ответом. UPD: Проверил, Ваш первоначальный сценарий полностью работоспособный - достаточно запустить сценарий от нужного пользователя через планировщик задач и никаких ошибок с доступом к контейнеру не возникает, поэтому не понятно, что у Вас вызвало вопрос, и Мне пришлось "нести чепуху" с подключением файлов реестров пользователей. Таки вот нет, certmgr запускается, что видно по логу шедулера, но certmgr файла не создает. Я устанавливаю в Task Scheduler флаг Run whether user is logged on or not, задаю старт задачи по расписанию через 2 мин, и отлогиниваюсь. Через 5 мин проверяю. Задача выполнилась успешно, но файла нет. Вы так же делаете или запускаете задачу при вошедшем интерактивном пользователе? | 
    | 
             | 
            
         | 
    |  | 
        
        
        
            
        
            
            
    | 
	Статус: Сотрудник
 Группы: Участники
 Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,977  Сказал «Спасибо»: 605 разПоблагодарили: 2347 раз в 1843 постах
 
 | 
            
		      
                попробуйте через Process Monitor  от другого пользователя посмотреть, что происходит в этой папке в момент запуска утилиты. | 
|  | 
    | 
             | 
            
         | 
    |  | 
        
        
        
    
        
            
            
    | 
	Статус: Новичок
 Группы: Участники
 Зарегистрирован: 25.01.2024(UTC) Сообщений: 4  | 
            
		      
                Автор: Андрей *  попробуйте через Process Monitor  от другого пользователя посмотреть, что происходит в этой папке в момент запуска утилиты. Гм... Сорри, тут в итоге нарисовалась проблема иного толка. В истории шедулера фиксируется ошибка 2147944039 (invalid command line options), если убрать перенаправление вывода certmgr в файл (>c:\!\1.txt), то выполняется без ошибок. По итогу, пока вышел из положения след. командой шедулера: cmd с ключами /c ""C:\Program Files\Crypto Pro\CSP\certmgr.exe" -list -container "\\.\Registry\Name_Of_Container" -silent > c:\!\1.txt". Отрабатывает вне зависимости от того, залогинен юзер или нет. Спс за участие. Отредактировано пользователем 25 января 2024 г. 18:59:36(UTC)
 | Причина: Не указана | 
    | 
             | 
            
         | 
    |  | 
        
        
        
            
        
            
            
    | 
	Статус: Активный участник
 Группы: Участники
Зарегистрирован: 31.05.2016(UTC)
 Сообщений: 2,867
 
 Сказал(а) «Спасибо»: 654 разПоблагодарили: 506 раз в 477 постах
 
 | 
            
		      
                Автор: Flukostat  По итогу, пока вышел из положения след. командой шедулера: Угу, поэтому, всегда/ зачастую, использую сценарии, вместо того, что бы передавать параметры в cmd.exe : Автор: nickm  достаточно запустить сценарий от нужного пользователя | 
    | 
             | 
            
         | 
    |  | 
        
        
        
    
	                           
	
    
        Быстрый переход
         
	
    
    Вы не можете создавать новые темы в этом форуме.
	
	Вы не можете отвечать в этом форуме.
	
	Вы не можете удалять Ваши сообщения в этом форуме.
	
	Вы не можете редактировать Ваши сообщения в этом форуме.
	
	Вы не можете создавать опросы в этом форуме.
	
	Вы не можете голосовать в этом форуме.
	
	
    
    
        Important Information:
        The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
        
        
More Details
        Close