如何 运行 Azure VM CustomScriptExtension 作为域用户? (第1部分)
How to run Azure VM CustomScriptExtension as domain user? (part 1)
我正在使用的是一个 Powershell 脚本,它使用 JSON 文件来创建一个新的虚拟机; JSON 文件包含 VM 加入域的说明和 运行 自定义脚本。这两件事都发生了,但是脚本 运行 是用户 workgroup\system
,因此没有访问网络驱动器的权限。
- 是否按此顺序列出扩展保证脚本运行在域加入完成后(或是随意的吗)?
我能做些什么来确保在域加入完成之前脚本不会 运行 吗?我怎样才能最好地检测到(从新 VM 本地)域加入已完成?您如何 延迟 脚本的 运行 直到更好的时间(类似于一次性的 cron 作业)?
更新: 将问题一分为二,另一半是 here。
此外,非常感谢 Dewi Jones 一个多小时的互动支持。我很感激只能在 return.
中打勾
获取域,如果域与您要加入的域相同,则继续。
$domain = gc env:UserDNSDomain
While ($domain -neq "FQDN")
{
Start-Sleep -seconds 2
}
否则,您可以使用凭据调用脚本,如下所示
$username = 'user'
$password = 'password'
$PSArgs = 'Script file name'
$securePassword = ConvertTo-SecureString $password -AsPlainText -Force
$credential = New-Object System.Management.Automation.PSCredential $username, $securePassword
Start-Process Powershell.exe -Credential $credential $PSArgs
我正在使用的是一个 Powershell 脚本,它使用 JSON 文件来创建一个新的虚拟机; JSON 文件包含 VM 加入域的说明和 运行 自定义脚本。这两件事都发生了,但是脚本 运行 是用户 workgroup\system
,因此没有访问网络驱动器的权限。
- 是否按此顺序列出扩展保证脚本运行在域加入完成后(或是随意的吗)?
我能做些什么来确保在域加入完成之前脚本不会 运行 吗?我怎样才能最好地检测到(从新 VM 本地)域加入已完成?您如何 延迟 脚本的 运行 直到更好的时间(类似于一次性的 cron 作业)?
更新: 将问题一分为二,另一半是 here。
此外,非常感谢 Dewi Jones 一个多小时的互动支持。我很感激只能在 return.
中打勾获取域,如果域与您要加入的域相同,则继续。
$domain = gc env:UserDNSDomain
While ($domain -neq "FQDN")
{
Start-Sleep -seconds 2
}
否则,您可以使用凭据调用脚本,如下所示
$username = 'user'
$password = 'password'
$PSArgs = 'Script file name'
$securePassword = ConvertTo-SecureString $password -AsPlainText -Force
$credential = New-Object System.Management.Automation.PSCredential $username, $securePassword
Start-Process Powershell.exe -Credential $credential $PSArgs