Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Nastavení oprávnění na logické svazky - command line

Ahoj,
tak pomocí ICACLS se to zvládlo
viz:
icacls C:\ /grant:r BUILTIN\Users:(CI)
icacls C:\ /grant BUILTIN\Users:(CI)(IO)(WD) atd atd..

Co teď zkoumám je deployment těchto nastavení na několik PC. Normálně bych použil příkaz
FOR /F "tokens=1 delims=," %%G IN (seznam.txt) DO icacls \\%%G\C$ /grant:r BUILTIN\Users:(CI),
což by mi na všech PC v seznam.txt provedlo nastavení icacls na C:\.
Problém je pokud těch ICACLS commandů mám několik (pár pro C:\, pár pro D:\) a tu proměnou %%G bych chtěl použít i v příkazu ICACLS, proměnná se na dalším řádku příkazu ztratí..


@echo off
FOR /F "tokens=1 delims=," %%G IN (seznam.txt) DO icacls \\%%G\C$ /grant testdomain\testuser%%G:F
icacls \\%%G\D$ /grant testdomain\testuser%%G:F
icacls \\%%G\E$ /grant testdomain\localuser%%G:F

První příkaz se provede ale u dalších už to pokud používám proměnné hodí chybu
testdomain\localuser%G: No mapping between account names and security IDs was do
ne. Musel bych natvrdo napsat testdomain\localuser01:F NEBO všechny příkazy dát do jedné řádky
icacls \\%%G\C$ /grant testdomain\testuser%%G:F & icacls \\%%G\D$ /grant testdomain\testuser%%G:F % ... což se obávám že jisté omezení v délce příkazu asi bude a mě se to nebude vejít.

Existuje na to nějaké řešení? Jak spustit batku na X PC o hodně řádcích kde se vyskytují proměnné?

Proměnnou %%G používám jak pro identifikaci PC na kterém to chci spustit tak pro identifikaci uzivatele (proměnná obsahuje nějaké číslo) .. tj pc bude např. 01,02,03 .. a uživatelé localuser01,localuser02 .. na pc 01 bude localuser01 - využití proměnných se zde tedy přímo vybízí.

Reakce na odpověď

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny