Не уверен, правильно ли я понял вопрос, но я предполагаю, что здесь мы проверяем, сопоставил ли пользователь требуемый общий ресурс, а не имеет ли пользователь доступ к требуемому общему ресурсу.
Я понимаю, что это не совсем ответ на ваш вопрос, но я бы предложил другой подход.
Вы можете попробовать сопоставить общий ресурс в своем скрипте с помощью командлета New-PsDrive и, если необходимо, запросить учетные данные у пользователя с помощью Get-Credential
New-PSDrive -Name TestName -PSProvider FileSystem -Root \\fileshare.local\share -Credential (Get-Credential)
В конце вашего скрипта отсоедините его с помощью командлета Remove-PsDrive
.
Общий ресурс будет виден только в контексте скрипта (не отображается в проводнике Windows).
Наконец, вы также можете использовать этот метод, чтобы проверить, отображается ли общий ресурс
If(Get-PSDrive | Where-Object DisplayRoot -EQ '\\fileshare.local\share'){ "Mappped" } else { "Nope" }