将脚本设置为通过ARM在Azure VM上用户登录时运行

时间:2016-03-24 01:46:07

标签: azure azure-virtual-machine azure-powershell azure-resource-manager vhd

我已经推广了一个Windows Azure映像,我在ARM(Azure资源管理器)模板中使用它来创建一个新的VM。在创建虚拟机时,我正在使用运行Powershell脚本的自定义脚本扩展进行一些自举工作。除了少数特定于将登录到计算机的用户的东西之外,它工作正常。例如,我无法映射网络驱动器或将powershell exection政策设置为为将通过自定义脚本扩展登录到计算机的用户重新签名。

有没有办法在ARM模板中完成用户特定的任务,或者设置一些脚本在用户登录时运行?

1 个答案:

答案 0 :(得分:0)

也许有点晚了,但我使用的是...... this

  

但是,我们无法直接将此脚本移交给自定义脚本扩展。自定义脚本扩展使用NTAUTHORITY \ SYSTEM帐户执行脚本,但该帐户没有执行SQL配置命令所需的权限。要解决此问题,我们将创建一个单独的引导脚本,在调用脚本之前模拟管理员帐户。

以下是使用的代码:

$password =  ConvertTo-SecureString "[your admin account user password]" -AsPlainText -Force
$credential = New-Object System.Management.Automation.PSCredential("$env:COMPUTERNAME\[your admin account]", $password)
$command = $file = $PSScriptRoot + "\CustomScriptSQLPS.ps1"
Enable-PSRemoting –force
Invoke-Command -FilePath $command -Credential $credential -ComputerName $env:COMPUTERNAME
Disable-PSRemoting -Force

我不知道远程连接是否与此相关...

Haishi Bai

的信用