none
batch výpis lokálních adminů do souboru

    Dotaz

  • Zdravím,

    chtěl bych se zeptat, zda-li je proveditelné v batch: načíst si lokální adminy(použiji net localgroup administrators)

    poslat to do souboru, ve kterém bych měl čístě jen jména administratoru a u každého jména měl %computername% (budu provádět u více pc).

    Když dám klasicky výpis net localgroup administrators, tak tam mám info co to je za skupinu a že příkaz byl dokončen.

    Až se skript provede u všech, chtěl bych si to hodit do excelu a kouknout kdo je kde adminem.

    Děkuji za info JVO.

    14. listopadu 2012 7:16

Odpovědi

  • Tak nevim. Ja zadal do googlu: list local administrator

    PRVNI NALEZENY ODKAZ = http://www.robvanderwoude.com/ntadmincommands.php

    A v nem tematko List all local administrators With (native) Windows NT 4+ commands:

    FOR /F "delims=[]" %%A IN ('NET LOCALGROUP Administrators ˆ| FIND /N "----"') DO SET HeaderLines=%%A
     FOR /F "tokens=*"  %%A IN ('NET LOCALGROUP Administrators') DO SET FooterLine=%%A
     NET LOCALGROUP Administrators | MORE /E +%HeaderLines% | FIND /V "%FooterLine%"

    JAKO TRETI ODKAZ http://ss64.com/vb/syntax-localadmins.html

    Najdete VBS reseni, ktere, jak jsem pochopil projde konkretni LDAP OU a vylistuje. Ano, je to ve VBS, ale snad neni problem do standardniho CMD zadat prikaz CSCRIPT davka.vbs

    Asi mame kazdy jinak zkonfigurovany google. Mne reseni nasel.



    14. listopadu 2012 15:02

Všechny reakce

  • ahoj,

    vše je proveditelné ;)

    pokud se ti nechce skriptovat a chcešto jen z cmd line, tak:

    net localgroup administrators >> soubor.txt

    hostname >>soubor.txt


    takovej baťák pak hoď do politiky nebo do po spuštění a máš hotovo
    14. listopadu 2012 8:19
  • Ahoj, děkuji.  ale potřeboval bych to udělat tak abych měl výstup

    computername + administrator na jednom řádku bez zbytečných věcí.

    Já to potřebuji udělat na 150 pc a potom to nechci zdlouhavě vyzobávat. To cos mi poslal ty, tak to bude rozházené a bude u toho ještě název aliasu, komentář a že byl příkaz úspěšně dokončen.

    14. listopadu 2012 8:32
  • no určitě to jde i přes PS, ale vzhledem k tomu, že jej neovládám až tak, jak bych si přál, mohu se odkázat jen na vbs ;)

    například zde je výpis toho, co potřebuješ. Když si to celé hodíš do souboru a přidáš k tomu pc name, máš to bez zbytečných výpisů...

    btw si myslím, že odfiltrovat nežádoucí řádky a nahradit je prázdným znakem je práce tak na 2 minuty ;)

    14. listopadu 2012 8:55
  • Jednim z pravidel, ktere plati pro fora je to, ze nez polozite otazku, rozhlednete se po odpovedich na Internetu. Druhym pravidlem je, ze se predpoklada i samostatna prace. Dostanete odpoved a dopracujete si skript do podoby, ktera vam vyhovuje.

    Zde je napriklad skript, ktery pouziva psexec ze Sysinternals a stejnou funkci uvedenou vyse. "Vadou na krase" nekterych utilit/funkci je, ze dostavete "upovidany" vystup a musite pouzit dalsi nastroj pro vytazeni potrebne informace (napriklad takovy, ktery pouziva regularni vyrazy.)


        REM set path to PSexec on machine the script is being run from
        Set PSExecDir=c:\pstools

        REM Set file that contains the list of all your remote machines
        Set InputFile=C:\servers.txt

        REM Set path to file where administrator group membership is logged
        Set OutputFile=C:\localadmins.txt

        REM set path to error log file
        Set ErrorFile=C:\errors.txt

        for /f %%a in (%InputFile%) do (

        echo *** Checking Server %%a *** >> %OutputFile%

        %PSExecDir%\psexec \\%%a net localgroup administrators >> %OutputFile%

        IF ERRORLEVEL 1 (echo Problem with obtaining local administrators on %%a >> %ErrorFile%)
        )

    Samozrejme si muzete napsat skript ve VBS nebo PS. Stoji za namahu si tyto techniky osvojit, pokud mate na starosti sit pocitacu.

    M.

    14. listopadu 2012 9:03
  • Děkuji, že jste mě vyškolil kdy sem mohu napsat.

    ALE

    1. - googloval jsem, nenašel jsem, proto jsem sem napsal

    2. - zkouším to udělat i sám,ale nedaří se mi.

    Asi jsem se špatně vyjádřil, ale chtěl bych to v batch a ne v powershellu.

    Děkuji

    14. listopadu 2012 9:47
  • A. Mozna jeste pro doplneni http://support.microsoft.com/kb/555375?wa=wsignin1.0

    B. Pokud jste hledal s ceskymi klicovymi slovy, nebo chtel presne to, co pozadujete najednou v ramci jednoho skriptu, pak opravdu Google nemusi dat vhodnou odpoved.

    C. Nedostal jsem od vas reakci na skript, ktery jsem na Internetu nasel a vlozil do odpovedi.

    D. S hledanim skriptu muzete zacit napriklad tady http://technet.microsoft.com/en-us/scriptcenter/bb410849.aspx

    E. Co si vlastne predstavujete pod pojmem batch? Pro mne to je davkovy soubor, pricemz nemusi byt specifikovan jazyk, v jakem je napsan (obecne batch = davka, viz http://translate.google.cz/?hl=cs&tab=wT#en/cs/batch)

    F. Vystup souboru do formatu, ktery umi Excel zaridite napriklad ulozenim vysledneho seznamu do souboru s priponou csv a nastavenim oddelovace (default je strednik, nebo v Excelu nastavite napriklad carku http://www.makeuseof.com/tag/how-to-convert-delimited-text-files-into-excel-spreadsheets/)

    M.


    14. listopadu 2012 10:36
  • A, děkuji

    B, nehledám na google poprvé :-)

    C, pardon, prijde mi méně pracné toto, ale zase tam mam ten balast okolo. Hozeno do GPO

    SET ADMINPATH=\\xxxx\xxxx

    REM ============================================================================
    REM *** OTESTOVANI PRISTUPU K FILESRV/DNS***
    ECHO Kontrola pripojeni ke zdrojum...

    ping xxxxxxx -n 2 -4

    if not %ERRORLEVEL%==0 goto EXIT

    :ZJISTI
    ECHO Zjisteni lokalnich administratoru
    net localgroup administrators >> %ADMINPATH%\text.txt
    echo %computername% >> %ADMINPATH%\.texttxt

    :EXIT

    Nezkoušel jsem Váš skript z netu, jen jsem na něj kouknul

    D, děkuji

    E, děkuji, myslel jsem klasickou bat dávku - v cmd.exe http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/batch.mspx?mfr=true

    F, to vím, že umí excel a nemusím to dávat ani do dat, chtěl jsem jen mít %computername% a hned vedle něj administrator1 a zase pod ním %computername% administrator2 V excelu už se s tím poperu.

    14. listopadu 2012 11:17
  • Tak nevim. Ja zadal do googlu: list local administrator

    PRVNI NALEZENY ODKAZ = http://www.robvanderwoude.com/ntadmincommands.php

    A v nem tematko List all local administrators With (native) Windows NT 4+ commands:

    FOR /F "delims=[]" %%A IN ('NET LOCALGROUP Administrators ˆ| FIND /N "----"') DO SET HeaderLines=%%A
     FOR /F "tokens=*"  %%A IN ('NET LOCALGROUP Administrators') DO SET FooterLine=%%A
     NET LOCALGROUP Administrators | MORE /E +%HeaderLines% | FIND /V "%FooterLine%"

    JAKO TRETI ODKAZ http://ss64.com/vb/syntax-localadmins.html

    Najdete VBS reseni, ktere, jak jsem pochopil projde konkretni LDAP OU a vylistuje. Ano, je to ve VBS, ale snad neni problem do standardniho CMD zadat prikaz CSCRIPT davka.vbs

    Asi mame kazdy jinak zkonfigurovany google. Mne reseni nasel.



    14. listopadu 2012 15:02
  • Děkuji Vám.
    15. listopadu 2012 6:30