Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
调用Powershell函数时未映射驱动器_Powershell - Fatal编程技术网

调用Powershell函数时未映射驱动器

调用Powershell函数时未映射驱动器,powershell,Powershell,我正在创建一个新的PSDrive,并在共享驱动器上映射。代码在函数外部按原样运行良好,但每当它包装在函数中时,我都会看到它尝试映射驱动器。当我运行Get PSDrive时,指定的共享驱动器未列出 当在函数之外运行脚本时,情况正好相反。运行Get PSDrive后,我肯定可以看到驱动器映射到共享文件夹,并且它也在文件夹资源管理器中的“计算机”下列出/显示 function MapDrive { # creates an array of available Drive Letters $dri

我正在创建一个新的PSDrive,并在共享驱动器上映射。代码在函数外部按原样运行良好,但每当它包装在函数中时,我都会看到它尝试映射驱动器。当我运行
Get PSDrive
时,指定的共享驱动器未列出

当在函数之外运行脚本时,情况正好相反。运行
Get PSDrive
后,我肯定可以看到驱动器映射到共享文件夹,并且它也在文件夹资源管理器中的“计算机”下列出/显示

function MapDrive {

# creates an array of available Drive Letters 
$driveArray = @("A","B","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z")

# check every letter in the array if its available then create a New-PSDrive
foreach ($letter in $driveArray) {
    If (!(Test-Path "$letter`:")) {
        New-PSDrive -Name $letter -Root "\\my_server_ip\shared_folder" -Persist -PSProvider Filesystem -Credential (Get-Credential)
        break
    }
    Else {
        Write-Host "No available Drives."
        break
    }
}

}

MapDrive

Get-PSDrive
使用以下来源的答案:

使用以下来源的答案:


试试
-scope-Global
我不熟悉编写脚本和使用Powershell,我真的很欣赏它SimonS。试试
-scope-Global
我不熟悉编写脚本和使用Powershell,我真的很欣赏它SimonS。这也很管用,谢谢你,James!这个方法绝对是实现这个的另一种方法,我真的很感激。这个方法也很有效,谢谢你,詹姆斯!这种方法肯定是实现这一点的另一种方法,我非常欣赏它。
$letter = Get-ChildItem function:[f-z]: -n | Where { !(Test-Path $_) } | select -First 1

New-PSDrive -Name ($letter)[0] -Root "\\my_server_ip\shared_folder" -Persist -PSProvider Filesystem -Credential (Get-Credential)