You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用PowerShell脚本创建桌面快捷方式运行报错,如何解决?

问题排查点

  • 路径拼接错误
    你使用Join-Path时ChildPath参数开头额外加了反斜杠\,会触发Join-Path的路径解析规则,直接忽略前面传入的$destination路径,最终生成的$source_path会落在磁盘根目录,要么触发权限错误要么提示路径不存在。
  • 公共桌面写入权限不足
    AllUsersDesktop对应系统公共桌面目录,默认普通用户账户没有该目录的写入权限,直接写入会返回权限拒绝错误。如果确实需要写入公共桌面,必须以管理员身份运行PowerShell脚本;如果仅需要当前用户桌面可用,可以将AllUsersDesktop替换为Desktop。
  • 图标路径有效性问题
    需要提前确认C:\Users\Public\Pictures\ShortcutIcon.ico文件真实存在,路径不存在时调用Save()方法会直接抛出异常。

修复后示例代码

$new_object = New-Object -ComObject WScript.Shell
# 若需要写入公共桌面,请保留AllUsersDesktop并以管理员权限运行脚本
$destination = $new_object.SpecialFolders.Item("Desktop")
# ChildPath去掉开头的反斜杠,让Join-Path自动处理路径拼接
$source_path = Join-Path -Path $destination -ChildPath "Test Intranet.url"
$source = $new_object.CreateShortcut($source_path)
$source.TargetPath = "https://sharepoint.com/"
# 可提前判断图标文件是否存在,不存在时可以替换为系统自带图标路径,比如%SystemRoot%\system32\shell32.dll,13
$source.IconLocation="C:\Users\Public\Pictures\ShortcutIcon.ico"
$source.Save()

内容的提问来源于stack exchange,提问作者Kelly Tan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 09:06:02