gpt4 book ai didi

powershell - 当脚本设置为 “Run As Admin”时,有没有办法在Powershell中映射本地驱动器?

转载 作者:行者123 更新时间:2023-12-03 00:59:04 25 4
gpt4 key购买 nike

这是我的powershell脚本的一部分,我必须在其中将本地文件夹映射到S:驱动器。当我的脚本“以管理员身份运行”时,我无法映射New-PSDrive。如果可以,则在“我的电脑”上不可见。我已经运行了Get-PSDrive,它显示它仅在“MY PC”上不可见。

我已经尝试在PS中使用Net-Use。
我已经尝试过New-SMBmapping

New-SMBmapping -localpath 'S:' -remotepath '\\$comName\pos' -persistent $true

我的脚本的其余部分需要“以管理员身份运行”。
目前,这是我的脚本。
#Get Computer name
$comName = $computerNameCSV.ComputerName

#This will map folder to S drive
New-SmbShare -Name "SOP" -Path "C:\FolderShare" -FullAccess Everyone
New-PSDrive -Name "S" -Root "\\$comName\c$\FolderShare" -Persist -PSProvider "FileSystem"

最佳答案

简短答案:

你不能

长答案:

原因全部与用户上下文有关。打开普通的PowerShell控制台时,可以在当前用户上下文下运行该控制台。因此,当您在PowerShell中运行命令以映射共享时,它会显示在当前登录的用户上下文中。

通过运行方式管理员启动PowerShell时,将创建一个新的用户上下文。运行用于映射共享的命令会在该上下文中创建映射,这与您当前登录的用户上下文不同。即从概念上讲,以“以管理员身份运行”就像是您以其他用户的身份登录计算机一样。

一种解决方法是将脚本分为两部分,第一部分在当前用户上下文下运行并映射驱动器,第二部分可以使用Admin特权启动以执行所需的操作。例如在脚本内,您可以使用admin作为管理员启动第二个脚本:

Start-Process powershell -Verb runAs AdminScript.ps1

关于powershell - 当脚本设置为 “Run As Admin”时,有没有办法在Powershell中映射本地驱动器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58648556/

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