通过 ps1 自动映射网络驱动器 - 不起作用

通过 ps1 自动映射网络驱动器 - 不起作用

我有一个网络驱动器(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 吗?如何才能正确地实现自动化?

相关内容