Возникла интересная проблема. Может быть, вы, добрые люди, поможете мне понять, что здесь происходит. Если есть способ получше, я весь уши.
Я использую конфигурацию DSC в Azure и хочу подключить диск. Я читал, что DSC действительно не для этого, но я не знаю других способов сделать это за пределами DSC с помощью масштабируемых наборов Azure. Вот часть сценария, с которой я столкнулся с проблемами:
Script MappedDrive
{
SetScript =
{
$pass = "passwordhere" | ConvertTo-SecureString -AsPlainText -force
$user = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList "username",$pass
New-PSDrive -Name W -PSProvider FileSystem -root \\azurestorage.file.core.windows.net\storage -Credential $user -Persist
}
TestScript =
{
Test-Path -path "W:"
}
GetScript =
{
$hashresults = @{}
$hashresults['Exists'] = test-path W:
}
}
Я также пробовал этот код в разделе SetScript:
(New-Object -ComObject WScript.Network).MapNetworkDrive('W:','\\azurestorage.file.core.windows.net\storage',$true,'username','passwordhere')
Я также пробовал простую команду net use для сопоставления диска вместо причудливых командлетов New-Object или New-PSDrive. Такое же поведение.
Если я запустил эти команды (New-Object / Net Use / New-PSDrive) вручную, машина подключит диск, если я запущу его с отдельной буквой диска. Каким-то образом диск пытается подключиться, но не отображается.
Устранение неполадок, которые я сделал:
- В моей среде нет домена. Я просто пытаюсь создать масштабируемый набор и запустить DSC для настройки машины с использованием учетных данных учетной записи хранения, предоставленных при создании учетной записи хранения.
- Я использую имя пользователя и пароль, предоставленные мне идентификатором пользователя учетной записи хранения и ключом доступа (случайно сгенерированный ключ, обычно с именем учетной записи хранения в качестве пользователя).
- Azure не выдает ошибок при запуске модуля DSC (нет ошибок в журнале событий, только информация - последовательность выполнения ресурсов правильно перечисляет все мои последовательности в файле DSC).
- Когда я вхожу в систему и проверяю, сопоставлен ли диск, я сталкиваюсь с отключенным сетевым диском с буквой диска, которую я хочу (W :).
- Если я открываю Powershell, я получаю сообщение об ошибке: «Попытка выполнить операцию InitializeDefaultDrives для поставщика FileSystem не удалась».
- Если я запускаю «Get-PSDrive», диск W: не появляется.
- Если я запускаю код SetScript вручную в консоли Powershell, подключенный диск отлично работает под другой буквой диска.
- Если я попытаюсь отключить диск W :, я получаю сообщение «Это сетевое соединение не существует».
- Я подумал, что, возможно, DSC нужно некоторое время перед сопоставлением и добавил таймер сна, но это не сработало. Такое же поведение.