从网络共享安装,遇到传递凭据的问题

时间:2015-12-02 20:03:24

标签: powershell powershell-v2.0

我有一个使用powershell构建的GUI工具,可以帮助设置新的PC。我正在尝试通过将安装文件的路径放入文本框来为用户添加从域网络共享安装软件的功能。当他们点击“运行”时,它会转到该路径并运行设置。

只要我有权访问该共享,我就可以使用它,但是我想在Start-Process命令中包含凭据。截至目前,每当我尝试时,它都会显示错误的用户名或密码。

域,用户和传递变量来自将PC连接到域的工具的另一部分。这将在网络安装开始之前首先发生。前两行适用于域加入,但不适用于网络安装。

$pass = ConvertTo-SecureString "$pass" -AsPlainText -Force
$creds = New-Object System.Management.Automation.PSCredential $domain\$user,$pass

Start-Process -FilePath "$netinstall1" -Credential $creds -wait

更新

感谢@ user2460798,这似乎解决了凭据问题。这就是我现在遇到的......

 New-PSDrive -Name K -PSProvider FileSystem -Root \\servername\folder -Credential $creds
 Start-Process -FilePath "$netinstall1" -Wait

$netinstall1是用户将放在文本框中的完整UNC路径,在这种情况下为\\servername\folder\setup.exe

如何删除\setup.exe或路径的最后部分,以便我可以预先将驱动器映射到\\servername\folder。这有意义吗?

1 个答案:

答案 0 :(得分:0)

让它发挥作用:

 $path = Split-Path -Path $netinstall1 -Parent
 new-psdrive -name K -psprovider FileSystem -root "$path" -credential $creds
 Start-Process -FilePath "$netinstall1" -wait

谢谢!