У меня есть сценарий выхода из системы, который сохраняет сопоставленные сетевые ресурсы в текстовый файл:
#File path for save
$TxtPath = "C:\temp\" + "$env:UserName" + ".txt"
#Clear existing entries in file
Clear-Content -Path $TxtPath
#Return drive letters
$DriveList = Get-PSDrive | Select-Object -ExpandProperty 'Name' | Select-String -Pattern '^[a-b:d-g:i-z]$'
#Get path for each drive letter and save in specific format (letter;path)
Foreach($Item in $DriveList){
$DrivePath = (Get-PSDrive $Item).DisplayRoot
$Entry = -join($Item, ":", ";", $DrivePath)
Add-Content -Path $TxtPath -Value ($Entry)
}
У меня есть сценарий входа, который сбрасывает и сопоставляет эти диски:
#File path for user drive paths
$TxtPath = "C:\temp\" + "$env:UserName" + ".txt"
#Get current drives
$DriveList = Get-PSDrive | Select-Object -ExpandProperty 'Name' | Select-String -Pattern '^[a-b:d-g:i-z]$'
#Remove current drives
ForEach($Item in $DriveList){
$Drive = -join($Item, ":")
net use $Drive /delete
}
#Map network drives from file
ForEach($Line in Get-Content $TxtPath) {
$DriveLetter,$DrivePath = $Line.split(';')
net use $DriveLetter $DrivePath
}
Моя проблема заключается в том, что, поскольку я использую net use для удаления и сопоставления дисков (в сценарии входа в систему), функция Get-PSDrive в сценарии выхода из системы не возвращает путь к диску.Причина, по которой я использую сетевое использование вместо Remove-PSDrive, заключается в том, что диск не был полностью удален (по-прежнему отображается на устройстве пользователя).
Кто-нибудь может сказать мне, как я могу записать значение Remote Name длясетевой ресурс, когда я смотрю его с помощью net use (net use Z :)?Если я смогу просто записать этот путь (и только этот путь), я смогу записать его в текстовый файл вместе с буквой диска и, таким образом, решить мою проблему.
Я знаю, что могу зафиксировать результаты netиспользуйте для сохранения данных в файл:
net use x: > C:\Temp\output.txt
Однако я не могу сохранить эти данные / одну строку необходимой информации в переменной.Любая помощь будет высоко ценится.