В настоящее время я работаю над сценарием, в котором я хочу удаленно редактировать реестр пользователей.
В настоящее время я спрашиваю у пользователя номер компьютера, который я использую для удаленного завершения работы определенных программ на целевом компьютере, и это нормально.
Что я хочу сделать, это получить SID для текущего пользователя, вошедшего в систему, и сохранить его в переменной, которую затем я могу использовать для автоматизации изменений в реестре.
set /p asset="asset number or IP Address: "
pushd \\%asset%\c$
:: Get SID
for /f "delims= " %%a in ('"wmic path win32_useraccount where name='%UserName%' get sid"') do (
if not "%%a"=="SID" (
set myvar=%%a
goto :loop_end
)
)
:loop_end
echo %%myvar%%=%myvar%
:: End tasks that hold cached versions of their profile to prevent any issues
:: /T /F Allows this script to be run via remote CMD
taskkill /S %asset% /IM "Outlook.exe" /T /F
taskkill /S %asset% /IM "Communicator.exe" /T /F
taskkill /S %asset% /IM "Lync.exe" /T /F
taskkill /S %asset% /IM "Skype.exe" /T /F
timeout /t 20
:: 2007/2010
reg query "\\%asset%\HKEY_USERS\%myvar%\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles"
timeout /t 30
if not ErrorLevel 1 (
echo. "\\%asset%\HKEY_USERS\%myvar%\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles\Outlook" was found
:: reg export "%asset%\%username%\HKEY_USERS\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles\Outlook" "Outlook2007.reg"
reg delete "\\%asset%\HKEY_USERS\%myvar%\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles" /f & reg add "HKCU\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles\Outlook" & reg add "HKCU\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles" /v DefaultProfile /t REG_SZ /d "Outlook" /F & reg add "HKCU\Software\Microsoft\Exchange\Client\Options" /v PickLogonProfile /t REG_DWORD /d "0" /f
) else (
echo. "\\%asset%\HKEY_USERS\%myvar%\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles\Outlook" not found
)
timeout /t 200
Единственная проблема, с которой я сталкиваюсь, это то, что она отображает мой собственный SID, а не зарегистрированных в данный момент пользователей.