【发布时间】:2016-03-15 21:04:42
【问题描述】:
我从另一个问题中提取了这个,但我似乎无法完成这个工作。
我需要以本地管理员帐户运行此 .bat 文件。我希望用户能够在没有本地管理员权限的情况下运行和安装它。
不过我不知道出了什么问题。
$username = 'localadmin'
$password = 'passwordforlocaladmin'
$securePassword = ConvertTo-SecureString $password -AsPlainText -Force
$credential = New-Object System.Management.Automation.PSCredential $username, $securePassword
Start-Process -Filepath "p:\kaceInstaller\kaceinstall3.bat" -Credential $credential
我得到的错误是:
Start-Process : 此命令无法执行,因为错误:目录
名称无效。
在 P:\kaceInstaller\misc\kaceSetup.ps1:7 char:14
+ 启动进程
【问题讨论】:
-
我假设P盘是网络盘?如果是这样,您可能需要在其中添加一条关于 net use P:
我认为这个 cmd 在 PS 中的等效项是 New-PSDrive –Name “P” –PSProvider FileSystem –Root “\\touchsmart\share ”——坚持 -
谢谢 - 网络驱动器已通过组策略映射到 P:。它还从同一工作目录调用 .bat 文件。
-
这个错误让我觉得它不喜欢那个路径,如果你从 C 运行它,它的行为是否相同?
-
如果 Start-Process 与凭据一起使用类似于右键单击以管理员身份运行来运行快捷方式,那么我认为一切都在隐藏的本地管理员帐户的上下文中运行,该帐户没有驱动器字母映射。如果您使用 UNC 路径,它可以工作吗?
-
@superKing,是的,问题出在网络驱动器上。它是为登录用户映射的,但是您试图在另一个未登录的用户下启动该进程,因此未映射驱动器。我已经看过很多次了,但我不知道有什么解决方法。
标签: powershell