【问题标题】:How to check if a user has enough rights to create symlinks in PowerShell如何检查用户是否有足够的权限在 PowerShell 中创建符号链接
【发布时间】:2016-06-24 19:55:44
【问题描述】:

在 Windows 中创建符号链接受到限制。通常,管理员有足够的权限这样做,但用户没有。

  • 如何检查当前用户是否有足够的权限在 PowerShell 中使用New-Symlink
  • 如果New-Symlink 不可用,是否有比使用cp 解决问题更好的解决方法?

一组脚本将多个模拟库预编译到以供应商工具命名的目录中。我正在使用符号链接将所选供应商库切换并映射到通用文件夹名称。否则我需要在每次库更改时预编译库,这需要 > 5 分钟并创建 ~2 GiB 数据。

【问题讨论】:

标签: powershell symlink access-rights


【解决方案1】:

我没有比使用try/catch 更好的建议了:

try {
    New-Symlink -...
    "Symlink created successfully"
} catch {
    Write-Warning "Could not create symlink"
    #workaround
}

您甚至可以区分异常类型,请参阅 about_Try_Catch_Finally 以及此处的一些示例 An Introduction to Error Handling in PowerShell

旁注:

我猜你使用 cmdlet from TechNet gallery ?如果您这样做了,那么上次更新显然删除了管理员要求(请参阅 TechNet 上的脚本说明)。

【讨论】:

  • 据我所知,我有两个New-Symlink CmdLets ...有点奇怪:一个是在Pscx(3.2.1.0)中定义的,它是由$PROFILE自动加载的。我也可以在 ISE 中看到它,但关于它的帮助页面,它说它是 Pscx CmdLet。所以不,我的 CmdLet 不是来自 TechNet :)
  • 也许你应该试试另一个? ;-)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-06-18
  • 2020-06-08
  • 1970-01-01
  • 2013-12-09
  • 1970-01-01
  • 2011-08-11
  • 1970-01-01
相关资源
最近更新 更多