Powershell找不到映射的网络驱动器

时间:2019-04-22 20:49:52

标签: powershell batch-file networking

我有一个PowerShell脚本,可以在服务器上运行批处理文件。

该批处理文件需要使用网络驱动器才能运行。如果我手动映射网络驱动器(右键单击C :,然后单击映射网络驱动器等),然后运行批处理文件,则该批处理文件运行良好。

我需要使用Powershell自动化整个过程。我写了一个Powershell,它首先映射一个网络驱动器,然后调用该批处理文件。 Powershell脚本可以成功映射网络驱动器。

但是由于某些原因,当从Powershell脚本中调用批处理文件时,它找不到映射的网络驱动器,并且出现访问错误。

下面是代码;我究竟做错了什么?谢谢您的帮助:

$NetworkDriveBegin = '\\network-drive\location'   #Assume this value is correct
$pass=ConvertTo-SecureString "password" -AsPlainText -Force
#Assume Password and username are correct
$myCreds = New-Object System.Management.Automation.PsCredential("username",$pass)

Write-Output("Mapping   drive : " + $NetworkDriveBegin)
 $TestDrv = "X:"
New-PSDrive –Name "X" –Root $NetworkDriveBegin –PSProvider FileSystem  -Credential $myCreds –Persist

If (-not (Test-Path -Path $TestDrv)) {
    Throw "Could not map drive $TestDrv, Stopping Execution"
    Exit
 }

#Execute Batch Script  
$BatchFile = 'D:\Batch_File.bat'   # Assume the name is correct

& $BatchFile

$EndDate = Get-Date -format yyyy_MM_dd_HH_mm_ss
Write-Output("End Time: $EndDate")
Write-Output("Batch File Ended")

0 个答案:

没有答案