Tłumaczenie poleceń CACLS na ICACLS

0

Jak to polecenie CACLS przełożyłoby się na ICACLS?

CACLS "C:\Windows\System32\inetsrv\config" /G "Network Service":R /E

Moje wątpliwości dotyczą głównie parametru / E.

Norba
źródło

Odpowiedzi:

3

Domyślne zachowanie icacls, z /grantlub /denyprzełączniki, to edycja listy ACL. Nie trzeba jawnie określać operacji edycji, jak w przypadku cacls.

Za pomocą icaclsdublowania twojego przykładu:

icacls "C:\Windows\System32\inetsrv\config" /grant "Network Service":(R)

Możesz również użyć /grantiw /denypołączeniu z, :raby usunąć istniejące jawnie przyznane uprawnienia. Proszę zobaczyć icacls /?na pełnych szczegółów .

Edytować:

Jeśli zamierzasz dzwonić icaclsz PS, cytowanie działa inaczej. Proszę spróbować:

icacls 'C:\Windows\System32\inetsrv\config' /grant 'Network Service:(R)'
jscott
źródło
@ jscott, polecenie zwraca błąd: użytkownik sieci „Usługa sieciowa” Nie można znaleźć nazwy użytkownika. Więcej pomocy można uzyskać, wpisując NET HELPMSG 2221. Niepoprawny parametr „Usługa sieciowa” Wygląda na to, że nie można znaleźć użytkownika „Usługa sieciowa”.
Norba,
@Norberto: Podany błąd wynika z NETpolecenia, a nie z polecenia icacls. Właśnie skopiowałem / wkleiłem powyższe polecenie i przetestowałem, czy działa. Czy próbujesz użyć tego w skrypcie / pętli?
jscott
@ jscott: W poprzedniej próbie użyłem Powershell do wykonania polecenia, które nie działa. Ale w wierszu polecenia zadziałało. Bardzo dziwne.
Norba,
@Norbert: Cytowanie działa nieco inaczej w PS. Jeśli musisz go użyć w PS, zaktualizuję moją odpowiedź.
jscott
@ jscott: Nie mogę zobaczyć, na czym polega problem z cytowaniem w PowerShell. Byłbym wdzięczny, jeśli pomożesz mi w tym.
Norba