Quyền tạo liên kết tượng trưng trong Windows 7?


59

Làm cách nào tôi có thể cấp cho người dùng cụ thể quyền tạo liên kết tượng trưng trong Windows 7?

Tôi đã tìm kiếm thông qua "Chính sách nhóm" và Google, nhưng không tìm thấy gì.

Bên cạnh đó, có cách nào để tìm kiếm mọi thứ trong Trình chỉnh sửa chính sách nhóm không? Các bộ lọc dường như chỉ hoạt động trên các cây con cụ thể. Tôi chưa bao giờ thực sự tìm thấy bất cứ điều gì bằng cách sử dụng các bộ lọc.


2
BTW Có ai biết tại sao tạo symlink cần có quyền quản trị không? Điều gì là nguy hiểm trong họ?
Đức ông

1
@Monsignor: Tôi đã thấy từ lâu rằng Microsoft tuyên bố quá nhiều chương trình không thể xử lý chúng một cách an toàn. Dù sao, tôi khá khó chịu khi họ yêu cầu độ cao để sử dụng.
Joshua

Câu trả lời:


63
  1. Mở Trình chỉnh sửa chính sách nhóm cục bộ : Run> gpedit.msc. Nếu điều đó không hoạt động thử secpol.msc(Lưu ý, người dùng Windows Home có thể cần bật trình chỉnh sửa chính sách nhóm trước).

  2. Truy cập (Người dùng Windows Pro có thể không thấy hai mục đầu tiên):

    Computer configuration → Windows SettingsSecurity Settings → Local Policies → User Rights Assignmentvà chỉnh sửa Create symbolic links.

    nhập mô tả hình ảnh ở đây

  3. Thêm người dùng hoặc nhóm mà bạn muốn cho phép để tạo các liên kết tượng trưng.

  4. Nếu bạn đã thêm tài khoản người dùng của riêng mình, bạn cần đăng xuất và đăng nhập lại để thay đổi có hiệu lực.

Lưu ý : Cài đặt này không có hiệu lực đối với tài khoản người dùng thuộc nhóm Quản trị viên. Những người dùng đó sẽ luôn phải chạy mklinktrong môi trường nâng cao (với tư cách Quản trị viên) vì cách UAC xóa các đặc quyền khi tạo mã thông báo truy cập không nâng cao . Có một bảng tham chiếu Excel tiện dụng để tìm các cài đặt chính sách nhóm: Tham chiếu cài đặt chính sách nhóm cho Windows và Windows Server


12
Ở đây nó trông giống như sau, chỉ để tham khảo nếu ai đó bị nhầm lẫn: Bảng điều khiển> Công cụ quản trị> Chính sách bảo mật cục bộ> Chính sách cục bộ> Phân quyền người dùng> Tạo liên kết tượng trưng Và bằng cách bạn cần đăng xuất và đăng nhập lại cho cài đặt để áp dụng.
Seldaek

5
Và bạn có thể chạy secpol.msc để bỏ qua phần đầu tiên, sau đó tất cả những gì bạn còn lại là: Chính sách cục bộ> Phân quyền người dùng> Tạo liên kết tượng trưng
Seldaek

5
Ngoài ra: Chạy "gpupdate / force" từ CMD hoặc chỉ hộp thoại Run cũng nên áp dụng cài đặt.
Tobias Plutat

1
Bất kỳ cách nào để làm điều tương tự thông qua sổ đăng ký cho người dùng Microsoft-ghét-không-Windows-8-Pro? gpedit.msc không có sẵn cho họ
szx

4
lại - "Những người dùng đó sẽ luôn phải chạy mklink trong môi trường nâng cao (với tư cách Quản trị viên)" ... vì vậy, quản trị viên luôn phải chạy với độ cao ... arg.
Trevor Boyd Smith

0

Một số cấu hình cửa sổ bỏ lỡ gpedit.msc. Trong trường hợp này, bạn có thể thử thay thế:

  1. chạy tập lệnh PowerShell này từ đây :
    function addSymLinkPermissions($accountToAdd){
        Write-Host "Checking SymLink permissions.."
        $sidstr = $null
        try {
            $ntprincipal = new-object System.Security.Principal.NTAccount "$accountToAdd"
            $sid = $ntprincipal.Translate([System.Security.Principal.SecurityIdentifier])
            $sidstr = $sid.Value.ToString()
        } catch {
            $sidstr = $null
        }
        Write-Host "Account: $($accountToAdd)" -ForegroundColor DarkCyan
        if( [string]::IsNullOrEmpty($sidstr) ) {
            Write-Host "Account not found!" -ForegroundColor Red
            exit -1
        }
        Write-Host "Account SID: $($sidstr)" -ForegroundColor DarkCyan
        $tmp = [System.IO.Path]::GetTempFileName()
        Write-Host "Export current Local Security Policy" -ForegroundColor DarkCyan
        secedit.exe /export /cfg "$($tmp)" 
        $c = Get-Content -Path $tmp 
        $currentSetting = ""
        foreach($s in $c) {
            if( $s -like "SECreateSymbolicLinkPrivilege*") {
                $x = $s.split("=",[System.StringSplitOptions]::RemoveEmptyEntries)
                $currentSetting = $x[1].Trim()
            }
        }
        if( $currentSetting -notlike "*$($sidstr)*" ) {
            Write-Host "Need to add permissions to SymLink" -ForegroundColor Yellow

            Write-Host "Modify Setting ""Create SymLink""" -ForegroundColor DarkCyan

            if( [string]::IsNullOrEmpty($currentSetting) ) {
                $currentSetting = "*$($sidstr)"
            } else {
                $currentSetting = "*$($sidstr),$($currentSetting)"
            }
            Write-Host "$currentSetting"
        $outfile = @"
    [Unicode]
    Unicode=yes
    [Version]
    signature="`$CHICAGO`$"
    Revision=1
    [Privilege Rights]
    SECreateSymbolicLinkPrivilege = $($currentSetting)
    "@
        $tmp2 = [System.IO.Path]::GetTempFileName()
            Write-Host "Import new settings to Local Security Policy" -ForegroundColor DarkCyan
            $outfile | Set-Content -Path $tmp2 -Encoding Unicode -Force
            Push-Location (Split-Path $tmp2)
            try {
                secedit.exe /configure /db "secedit.sdb" /cfg "$($tmp2)" /areas USER_RIGHTS 
            } finally { 
                Pop-Location
            }
        } else {
            Write-Host "NO ACTIONS REQUIRED! Account already in ""Create SymLink""" -ForegroundColor DarkCyan
            Write-Host "Account $accountToAdd already has permissions to SymLink" -ForegroundColor Green
            return $true;
        }
    }
  1. tải xuống polsedit trông giống như phần mềm miễn phí thay thế cho gpedit.msc

Sau đó chạy gpupdate /forceđể áp dụng thay đổi ngay lập tức


1
Bên cạnh việc đưa ra nguồn. vui lòng thêm tập lệnh trong trường hợp nguồn không còn nữa.
miroxlav

Windows Starter Edition, Home và Home Premium không bao gồm gpedit.msc. Hướng dẫn cài đặt nó nằm trong câu hỏi của tôi và trả lời Windows Starter Edition, Home và Home Premium không bao gồm gpedit, làm cách nào để cài đặt nó?
DavidPostill
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.