Powershell-启动文件资源管理器UNC路径

Powershell-启动文件资源管理器UNC路径,powershell,Powershell,我是posh的新手,我想为我们的服务台创建一个脚本,在这里他们可以访问unc共享(如\computername\c$),而无需输入凭据。这非常有效: $share = '\\servername\c$\Tools' $UserName = 'contoso\john' $Password = 'P@ssword'|ConvertTo-SecureString -asPlainText -Force $Cred = New-Object -TypeName System.Management.Au

我是posh的新手,我想为我们的服务台创建一个脚本,在这里他们可以访问unc共享(如\computername\c$),而无需输入凭据。这非常有效:

$share = '\\servername\c$\Tools'
$UserName = 'contoso\john'
$Password = 'P@ssword'|ConvertTo-SecureString -asPlainText -Force
$Cred = New-Object -TypeName System.Management.Automation.PSCredential -argumentlist $UserName,$Password
New-PSDrive -Name B -PSProvider FileSystem -Root $share -Credential $cred -Persist
Invoke-Expression "explorer '/select,$share'" 
Remove-PSDrive -Name B
我正在尝试实现inputbox,但它不起作用:

[System.Reflection.Assembly]::LoadWithPartialName('Microsoft.VisualBasic') | Out-Null
[void][System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms") 
$serverName = [Microsoft.VisualBasic.Interaction]::InputBox("Enter ComputerName ", "Accessing C$ Share", $Default, $Form.Left + 300, $Form.Top + 100)
原因值未实现:

$share = '\\$servername\c$\Tools'

有人能告诉我为什么吗?如何解决呢?感谢您的帮助

将简单引号替换为双引号,如下所示,否则Powershell不会评估您的字符串:

$share = "\\$servername\c$\Tools"
$share='\\{0}\c$\Tools' -f $serverName
您也可以使用-f来构建字符串:

$share = "\\$servername\c$\Tools"
$share='\\{0}\c$\Tools' -f $serverName

因为这个值没有得到实现:“这告诉我们什么。”。请用任何错误更新您的帖子,并告诉我们实际发生的情况与您希望发生的情况。请。对不起,我尝试了这种格式,但没有成功…道格:没有错误,当我在输入框中输入计算机名,然后在powershell中键入$share以检查值时,它保留为$share='\\$servername\c$\Tools'而不是\\ABC01\xxxx,幸运的是@Espernato给了我正确的语法。你是一个国王:)已经搜索了好几天了!谢谢!你能给我解释一下-f是什么意思吗?为你高兴-f是格式运算符。您可以在此处找到详细信息: