Không thể gán quyền nhóm với ICACLS trên Windows Server 2012


9

Tôi không thể nhận icacls để chấp nhận nhóm của mình để thêm quyền. Tôi đang sử dụng một vỏ năng lượng nâng cao với lệnh sau:

icacls 'C:/foo' /grant:r 'Group Foo':f

Tôi nhận được lỗi sau đây:

Invalid parameter "Group Foo"

Tôi cũng đã thử sử dụng SUID, nhưng điều đó cũng thất bại. Tôi cũng đã thử 'Tên miền \ Nhóm Foo'

Tôi có một loạt các tập tin tôi đang cố gắng cho phép một nhóm sử dụng. Cách thích hợp để thêm quyền hàng loạt trong Windows Server 2012 là gì?

-- BIÊN TẬP --

E:\> icacls "E:/Contact Numbers.xlsx" /grant:r "Users":f
Invalid parameter "Users"

Câu trả lời:


10

Sử dụng dấu ngoặc kép thay vì dấu ngoặc đơn:

C:\>mkdir foo

C:\>icacls 'C:/foo' /grant:r 'Users':f
'Users': No mapping between account names and security IDs was done.
Successfully processed 0 files; Failed processing 1 files

C:\>icacls "C:/foo" /grant:r "Users":f
processed file: C:/foo
Successfully processed 1 files; Failed processing 0 files

Tôi nhớ rằng bạn đã sử dụng Powershell, không cmd. Powershell có một số độ kỳ lạ cao khi trộn các lệnh bên ngoài và trích dẫn. Dưới đây là một vài ví dụ sử dụng Powershell.

PS v2: Để chuyển các trích dẫn lên, icaclsbạn phải thoát chúng bằng dấu mũ. Lưu ý dấu ngoặc đơn xung quanh "F" cũng cần thoát.

PS C:\>icacls `"C:/foo`" /grant:r `"Users`":`(F`)

PS v3: Phiên bản 3 cung cấp một chuỗi thoát mới --%(dấu gạch ngang, dấu gạch ngang, phần trăm) thoát khỏi phần còn lại của dòng. Điều này làm cho các tham số bên ngoài phức tạp thậm chí đơn giản.

PS C:\>icacls --% "C:/foo" /grant:r "Users":F

Xem chỉnh sửa của tôi ở trên. Cái này cũng không làm việc. Lưu ý rằng tôi đang gặp lỗi "Tham số không hợp lệ" chứ không phải "Không ánh xạ giữa các tên tài khoản"
user319862

Tôi vừa thử lại bằng cách sử dụng dấu nhắc lệnh thay vì power shell và nó đã hoạt động. Không biết vấn đề là gì nhưng cảm ơn vì cú pháp đúng.
dùng319862

Xin lỗi, hoàn toàn bỏ qua rằng bạn đang sử dụng PS. Cập nhật để bao gồm các ví dụ PS 2/3.
jscott

Để mọi người phàn nàn nó không hoạt động, bạn phải sử dụng lệnh trong Dấu nhắc lệnh. Lệnh không hoạt động trong powershell.
Mike G

1

Nó sẽ không cho phép tôi nhận xét về chủ đề của jscott nhưng để làm cho lệnh của bạn chạy đúng trong Powershell, bạn sẽ phải thêm các trích dẫn xung quanh toàn bộ tham số, như sau:

    C:\> icacls .\foo /grant:r "Users:F"

Điều này sẽ làm việc cho các tên nhóm có không gian trong đó, cũng như các lệnh bao gồm quyền thừa kế.

    C:\> icacls .\foo /grant:r "Remote Desktop Users:(OI)(CI)(F)"

Khi nghi ngờ, luôn luôn áp dụng dấu ngoặc kép xung quanh tham số đầy đủ. Hi vọng điêu nay co ich! :)

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.