Я пытаюсь выяснить, как сопоставить общий файловый ресурс с конкретным пользователем, которого я создал, используя скрипт Powershell, который предназначен для учетной записи службы. В результате моя учетная запись службы должна иметь доступ к пути UN C по адресу \\ storageaccount.file.core. windows .net \ share "
Ниже описано, как создать службу. учетная запись через поставщика PowerShell. Packer.
$password = ConvertTo-SecureString "ServiceAccountPassword" -AsPlainText -Force
New-LocalUser "ServiceAccount" -Password $password -FullName "ServiceAccount"
Add-LocalGroupMember -Group "Administrators" -Member "ServiceAccount"
Поскольку Packer выполняет код Powershell, используя пользователя, сгенерированного Packer, я создаю запланированное задание для запуска пакетного файла при запуске из учетной записи SYSTEM.
"net use Z: \\storageaccount.file.core.windows.net\share azurestorageaccesskey /user:Azure\storageaccount /persistent:yes" | Out-File -FilePath "C:\MapAzureFileShare.bat" -Encoding "ASCII"
$action = New-ScheduledTaskAction -Execute "C:\MapAzureFileShare.bat"
$trigger = New-ScheduledTaskTrigger -AtStartup -RandomDelay 00:00:30
$settings = New-ScheduledTaskSettingsSet -Compatibility "Win8"
$principal = New-ScheduledTaskPrincipal -UserId "SYSTEM" -LogonType "ServiceAccount" -RunLevel "Highest"
$task = New-ScheduledTask -Action $action -Principal $principal -Trigger $trigger -Settings $settings -Description "Map Azure file share at startup"
Register-ScheduledTask -TaskName "MapAzureFileShare" -InputObject $task
Приведенный ниже скрипт приводит к созданию сетевого диска для всех пользователей, к сожалению, сетевой диск является отключенным диском и недоступен при входе в систему в качестве учетной записи службы, которую я только что создал. Было бы сказано: «Имя пользователя или пароль неверны».
Я также пытался создать запланированное задание для запуска в качестве созданного пользователя.
$action = New-ScheduledTaskAction -Execute "C:\MapAzureFileShare.bat"
$trigger = New-ScheduledTaskTrigger -AtStartup -RandomDelay 00:00:30
$settings = New-ScheduledTaskSettingsSet -Compatibility "Win8"
$task = New-ScheduledTask -Action $action -Trigger $trigger -Settings
$settings -Description "Map Azure file share at startup"
Register-ScheduledTask -TaskName "MapAzureFileShare" -InputObject $task -User "ServiceAccount" -Password "ServiceAccountPassword"
Ничто не отображается и не отображается Кажется, что-нибудь случится, если я вручную запустите эту запланированную задачу. НО, если я переключу вышеуказанную запланированную задачу на Запускать только при входе пользователя в систему и выполню задачу вручную, карта сети будет создана.
Если я попытаюсь запустить командный файл как пользователя, которого я только что создал, файловая папка сопоставлена просто отлично.
Могу ли я попробовать еще что-нибудь?