
CMD-instalace reg podle username[Win XP Pro]
Zdravim, potrebuji poradit. Chtel bych vytvorit bat'ak, ktery podle uzivatelskeho jmena naimportuje urcite registry. Jedna se o domenove ucty, u kterych se pred nejakou dobou menil nazev uctu a puvodni nazev uctu zustal v PC(napr. nazev v PC je ucetni a novy login k tomuto uctu je Tereza-ucetni). Melo by to naimportovat registry podle existence souboru tsm v Dokumentech, pokud existuje, pak goto end v jinem pripade naimportuje registry.
Takhle script vypada ted
if "%username%" == "Tereza-ucetni" (
IF NOT EXIST C:\Documents and Settings\%username%\Dokumenty\tsm (
goto start
pause
)
echo. Nejste Tereza-ucetni - zkousim dalsi
)
if "%username%" == "Lakatos-skladnik" (
IF NOT EXIST C:\Documents and Settings\%username%\Dokumenty\tsm (
goto start
pause
)
echo. Nejste Lakatos-skladnik - zkousim dalsi
)
goto end
:start
neco spusti
goto end
Bohuzel %username% dela problem, nerozpozna skutecneho uzivatele, ktery pouze dostal novy login a nainstaluje uzivately reg a tim zmeni nastaveni.
Timto scriptem jsem chtel dosahnout aby po prihlaseni noveho uzv.(napr. Antonin-pracovnik) do jakehokoliv PC v siti se spustil script, ktery by rozpoznal ze se jedna o novy ucet, ktery v pc jeste nebyl a naimportuje reg.
Nevite jak by se to dalo udelat?
To bych řekl že je i normální
, teda z pohledu filesystému. Příklad - vytvořím při instalaci uživatele "uzivatel", windows udělá složky "uzivatel". Pokud uživatele přejmenuju na "Novak" zjednodušeně nic kromě nápisu při logonu se nezmění, složka "uzivatel" zustane a dal se použiva pro Novaka.
Co s tim :)
Potreboval bych to nejak obejit, napr. pouzit nejakou jinou promennou, parametr nebo jiny zpusob urcovani uzivatele.
Ten %UserProfile% se hodí přímo skvěle. Ty však děláš jednu chybu, kterou odhalíš v okamžiku, kdy si vypíšeš obsah této proměnné (třebas pomocí echo a klidně pro svůj účet).
Takze vlastne staci asi pridat k puvodnimu scriptu do podminek jenom tyto dve nove podminky
IF "%userprofile%" == "Tereza-ucetni" (
IF EXIST %userprofile%\Dokumenty\tsm (
goto end
)
goto start
)
IF "%userprofile%" == "Lakatos-skladnik" (
IF EXIST %userprofile%\Dokumenty\tsm (
goto end
)
goto start
)
Musíš to prostě vyzkoušet. Já nevím co hlásí tyhle proměnné pod doménou. Zkusil bych to asi takhle jednoduše: - za syntaxi neruším, abych to ještě zkoušel....
IF NOT EXIST %userprofile%\Dokumenty\tsm goto nasertotam
goto konec
:nasertotam
-pokud je soubor stejnej pro vsecky neni problem ne ?
goto konec
:konec
Pokud ty improty nejsou stejny tak
IF NOT EXIST %userprofile%\Dokumenty\tsm goto nasertotam
goto konec
:nasertotam
if "%username%" == "Martinek" goto prvni_cmoud
if "%username%" == "Pepak" goto druhy_cmoud
goto cmoud_nenalezeny
:prvni_cmoud
REGEDIT /S kokous1.reg
goto konec
:druhy_cmoud
REGEDIT /S kokous2.reg
goto konec
:cmoud_nenalezeny
echo Ku*va neco v h**zlu
goto konec
:konec
Už počujem, ako Gamál Abdal Násir (číta sa naser) v hrobe štikúta (škytá).