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