Chciałbym zreplikować uprawnienia pliku do innego. Nie chcę kopiować danych, tylko uprawnienia.
Na przykład utworzyłem nowy plik i chcę, aby miał takie same uprawnienia jak inny plik, który już istniał.
windows-7
file-permissions
acl
TaoTao
źródło
źródło
Odpowiedzi:
Możesz to zrobić w kilku krokach za pomocą icacls i edytora tekstu.
Najpierw musisz zapisać uprawnienia oryginalnego pliku
musisz edytować
perms.txt
właśnie utworzony plik w dowolnym folderze, w którym się uruchomiłeśicacls
. Plik powinien wyglądać mniej więcej tak:Możesz zignorować wszystkie rzeczy w drugim rzędzie, wszystko, na czym nam zależy, to pierwszy rząd. Zmień na
file1.bin
nową nazwę plikufile2.bin
i zapisz plik.Teraz wystarczy przywrócić uprawnienia do pliku w drugim pliku, zwróć uwagę, że tym razem nie podaliśmy nazwy pliku. (Jeśli pojawi się komunikat o błędzie „ Nie wszystkie wymienione przywileje lub grupy są przypisane do dzwoniącego. ” Uruchom program ponownie w wierszu polecenia z podwyższonym poziomem uprawnień).
źródło
File.GetAccessControl()
iFile.SetAccessControl()
Aby utworzyć partię (skopiuj pemisje zabezpieczeń z podfolderu lub wszystkich folderów jednego dysku do tego samego folderu / pliku na innym dysku), utwórz, powiedzmy,
cpdacls.bat
plik o następującej treści:A potem uruchom to jak
cpdacls.bat e:\ f:\
.Pamiętaj, że struktura folderów w folderze docelowym musi być taka sama jak struktura folderów w folderze źródłowym, pobierana z jego katalogu głównego , niezależnie od tego, który podfolder został określony jako folder źródłowy.
źródło
Jak dotąd najprostszym sposobem jest użycie programu PowerShell i uruchomienie:
źródło