我有一个网络驱动器(Z:,专用服务器),我从中运行所有开发应用程序。Windows 10 有时会失去访问驱动器的能力,在这种情况下,我通常会输入net use Z: //xx.x.x.xx/abc
。这可以正常工作,但由于这种情况会定期发生,因此我希望通过 powershell 脚本自动执行此过程。这是我想到的(powershell 新手):
If ( !(Test-Path Z:) ) {
Test-Path -Path "\\xx.x.x.xx\abc" -PathType Container
net use Z: \\xx.x.x.xx\abc
} Else {
Write-Host "**********`n*`n* Drive already mapped`n*`n**********`n"
Read-Host -Prompt "Press Enter to exit"
}
问题是执行此文件无法正确映射我计算机上的驱动器。Z 仍然不可用,只有手动输入此命令才能解决问题。这是我在尝试访问没有正确映射的 Z 驱动器时收到的 power shell 错误:
Set-Location : Cannot find drive. A drive with the name 'Z' does not exist.
At line:1 char:1
+ Set-Location $MyInvocation.MyCommand.Name
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (Z:String) [Set-Location], DriveNotFoundException
+ FullyQualifiedErrorId : DriveNotFound,Microsoft.PowerShell.Commands.SetLocationCommand
我必须以特权运行 shell 吗?如何才能正确地实现自动化?