Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Старожил


Сообщения: 440
Благодарности: 12

Профиль | Отправить PM | Цитировать


Вот кстати то что получилось в результате. Может кому пригодится.

users_copy.bat
Код: Выделить весь код
@echo off

SetLocal EnableDelayedExpansion
set home=%cd%
set pspath=%home%\PsTools

rd /s /q users
md users
cd /d users

for /f "tokens=1,2,3 delims= " %%A in ('net user') do (
    Set /A count +=1
    call :copy_user %%A
    Set /A count +=1
    call :copy_user %%B
    Set /A count +=1
    call :copy_user %%C
    )





echo Exit

pause

exit


:copy_user
chcp 1251
find /i "%1" %home%\exclusions.txt
if %errorlevel%==1 (
    echo errorlevel=%errorlevel%
    md %1
    call :copy_profile %1
    )
goto :eof




:copy_profile
For /F "Tokens=1" %%i In ('2^>Nul %pspath%\PsGetSid "%1"^|FindStr /BIC:"S-"') Do Set $UserSID=%%i
For /F "Tokens=1,2*" %%i In ('REG Query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\%$UserSID%"^|FindStr /BIRC:" *ProfileImagePath "') Do Set $UserProfile=%%k
echo user=%1
echo $UserSID=%$UserSID%
echo $UserProfile=%$UserProfile%

for /f "tokens=1,*" %%A in (%home%\settings.txt) do (
	echo %%A | xcopy /E "%$UserProfile%\%%B" "%1\%%B"
	)
goto :eof
в файле лежат исключения из списка пользователей. Туда можно внести пользователей которых не нужно копировать, к примеру Гость, так же там должен быть мусор который туда попадает после обработки команды net user

exclusions.txt
Код: Выделить весь код
-------------------------------------------------------------------------------
Команда
Учетные
выполнена
записи
пользователей
успешно
успешно.
ASPNET
IUSR_SERVER
IWAM_SERVER
SUPPORT_388945a0
test
Гость
в файле settings.txt лежит список файлов который надо скопировать.
f перед строкой если надо скопировать только конкретный файл
d если всю директорию

settings.txt для примера
Код: Выделить весь код
f Application Data\1C\1Cv81\ibases.v8i
d Application Data\Hamachi

Отправлено: 10:41, 26-04-2009 | #4