gpt4 book ai didi

windows - 创建将使用动态 %username% 的快捷方式

转载 作者:可可西里 更新时间:2023-11-01 10:19:18 25 4
gpt4 key购买 nike

我想在用户的桌面上创建一个快捷方式,该快捷方式将指向他们将在其中备份其 .pst 文件的共享。我借用了使用 %username% 变量创建快捷方式的代码,如果我以自己的身份登录运行它,它就可以工作。但是,当实际用户登录时,它仍然以我的名字作为用户,而不是当前登录的用户。我如何使它可变?

代码如下:

# Create a Shortcut with Windows PowerShell
$TargetFile = "\\fileserver\%username%$"
$ShortcutFile = "C:\Users\Public\Desktop\Mail.lnk"
$WScriptShell = New-Object -ComObject WScript.Shell
$Shortcut = $WScriptShell.CreateShortcut($ShortcutFile)
$Shortcut.TargetPath = $TargetFile
$Shortcut.Save()

当我登录时,代码有效并在桌面上创建了一个快捷方式。但是当另一个用户登录时,而不是使用他们的用户名 %username%,我的用户名在我运行脚本。有没有办法让它变得动态,以便无论谁登录,都可以通过快捷方式访问他们在网络上的共享?

最佳答案

使用 Windows 资源管理器作弊

这要归功于这位绅士 TechNet post .环境路径变量扩展可以很好地为路径添加前缀,但似乎不允许中间路径扩展。我不知道这种概括是否正确,但在实践中确实如此。

$TargetFile = "%windir%\explorer.exe" 
$arguments = '/e,"\\fileserver\%username%$"'
$ShortcutFile = "C:\Users\Public\Desktop\Mail.lnk"
$WScriptShell = New-Object -ComObject WScript.Shell
$Shortcut = $WScriptShell.CreateShortcut($ShortcutFile)
$Shortcut.TargetPath = $TargetFile
$Shortcut.Arguments = $arguments
$Shortcut.Save()

所以我们用 /e argument 调用 Windows 资源管理器然后用环境变量预扩展指定目标路径。

关于windows - 创建将使用动态 %username% 的快捷方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33299926/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com