允许在Windows 7中进行符号链接?


59

如何授予特定用户Windows 7中创建符号链接的权限?

我已经搜索了“组策略”和Google,但未找到任何内容。

附带说明一下,是否可以在组策略编辑器中搜索所有内容?过滤器似乎仅在特定的子树上起作用。我从未真正使用过滤器找到任何东西。


2
BTW有人知道为什么创建符号链接需要管理员权限吗?他们中有什么危险?
Monsignor

1
@Monsignor:我很久以前就看到微软声称太多程序无法安全处理它们。无论如何,我很生气,他们需要高程才能使用。
约书亚

Answers:


63
  1. 打开本地组策略编辑器Run> gpedit.msc。如果这不起作用,secpol.msc请尝试(注意,Windows Home用户可能需要首先启用组策略编辑器)。

  2. 转到(Windows Pro用户可能看不到前两个项目):

    Computer configuration → Windows SettingsSecurity Settings → Local Policies → User Rights Assignment并编辑Create symbolic links

    在此处输入图片说明

  3. 添加您要允许其创建符号链接的用户或组。

  4. 如果添加了自己的用户帐户,则需要注销并重新登录,以使更改生效。

注意:此设置对属于Administrators组的用户帐户无效。这些用户将始终必须mklink在提升的环境中(以管理员身份)运行,因为UAC在创建非提升的访问令牌时会删除特权。有一个方便的Excel参考表可用于查找组策略设置:Windows和Windows Server的组策略设置参考


12
在这里,它看起来更像以下内容,如果有人感到困惑,仅供参考:控制面板>管理工具>本地安全策略>本地策略>用户权限分配>创建符号链接而且,您需要注销并再次登录以进行设置申请。
塞尔达克2010年

5
您可以运行secpol.msc跳过第一部分,然后剩下的就是:本地策略>用户权限分配>创建符号链接
Seldaek 2010年

5
另外:从CMD或仅在“运行”对话框中运行“ gpupdate / force”也应应用该设置。
Tobias Plutat 2011年

1
有没有办法通过注册表为Microsoft讨厌的非Windows-8-Pro用户做同样的事情?gpedit.msc对他们不可用
szx 2015年

4
re-“这些用户将始终必须在提升的环境中(以管理员身份)运行mklink” ...因此,管理员始终必须在提升的环境中运行... arg。
Trevor Boyd Smith,

0

某些Windows配置未命中gpedit.msc。在这种情况下,您可以尝试以下方法:

  1. 从此处运行此PowerShell脚本:
    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. 下载polsedit,它看起来像gpedit.msc的免费替代软件

然后运行gpupdate /force以立即应用更改


1
除了给出来源。如果没有源,请添加脚本。
miroxlav '02

Windows Starter Edition,家庭和家庭高级版不包含gpedit.msc。问题与解答Windows Starter Edition,家庭版和家庭高级版中没有安装说明,但gpedit不包括在内,如何安装?
DavidPostill
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.