Я пытаюсь внедрить LAPS (Local Admin Password Solution) в нашей сети, и у меня возникают проблемы при интеграции LAPS в контекстное меню ADU & C, вызываемое правой кнопкой мыши. Моя цель - чтобы сотрудники службы поддержки могли щелкнуть правой кнопкой мыши на объекте компьютера в ADU & C и заставить LAPS сбросить пароль локального администратора с помощью прилагаемого сценария LAPS PowerShell. Я понимаю, что вы не можете запустить PS напрямую из самого контекстного меню ADU & C, но я должен иметь возможность создать командный файл и запустить его нужный сценарий PS. Все работает правильно, но проблема в том, что когда я щелкаю правой кнопкой мыши объект компьютера в ADU & C и затем запускаю пакетный файл из контекстного меню, он передает имя компьютера в виде строки в формате LDAP. Я пытаюсь проанализировать эту строку внутри самого пакетного файла и затем передать проанализированную строку в PS, но у меня ничего не получилось.
Как правило, командный файл, который я использую (запущен из ADU & C adminContextMenu):
@echo off
Title "Reset local Administrator password"
For /F "tokens=2 delims==," %%A In ("%1%") Do Set CompName=%%%A
PowerShell.exe -ExecutionPolicy Unrestricted -Command "Import-Module AdmPwd.PS; Reset-AdmPwdPassword" -ComputerName:%CompName%
Set CompName=
Пример строки, передаваемой в пакетный файл в качестве аргумента командной строки% 1%:(кавычки также являются частью строки):
"LDAP://SERVER.contoso.com/CN=IT-SYSTEM,OU=ITusers,DC=contoso,DC=com"
Что я хочу получить из приведенной выше строки, так это само имя компьютера (IT-SYSTEM), которое будет содержать весь текст после того, как первый = (равно) зарегистрируется до первой запятой (поэтому мои разделители установлены для этого, а мой токен 2). Я хочу сохранить это в новой переменной с именем CompName, и тогда я смогу передать эту переменную команде PS в пакетном файле. Я попробовал несколько вариантов команды FOR без успеха. Я думаю, что моя проблема может заключаться в том, что исходная строка, передаваемая в пакетный файл, уже заключена в кавычки. Можно ли получить нужную информацию в указанной выше строке, используя пакетный файл, если анализируемая строка уже содержит кавычки?
заранее спасибо