我需要部署 Azure 主机,并在加载后根据预定义的脚本对其进行配置。
是否有任何示例、指导或教程介绍如何在部署实例后以编程方式(通过 powershell、c# 或任何其他方式)修改 Azure VM?
到目前为止,我已经经历了命令行部署命令,并且没有看到我可以上传或以其他方式启动部署后安装命令的方法。
答案1
我不完全确定你在哪里遇到了困难或者你具体想要完成什么,但无论如何我都会尝试一下......
远程桌面
只是为了好玩,让我们从远程访问虚拟机开始。我已经使用 Azure 门户启动了一台虚拟机。门户要求指定用户名和密码。显然,最简单的远程访问方式是选择虚拟机实例后使用“连接”按钮:
从那里您可以输入您的凭据,登录到虚拟机,然后打开 PowerShell。
这是一种糟糕的处理方法,但却是最直接的方法。
PowerShell 远程处理
启动远程 PowerShell 会话可能会更快一些,并且涉及的 GUI 更少。要快速执行一行代码,请尝试以下操作:
Enter-PSSession -ConnectionUri (Get-AzureWinRMUri) -SessionOption (New-PSSessionOption -SkipCACheck) -Credential (Get-Credential)
系统将提示您输入服务名称(在我的情况下为 rtannerf)和凭据。我选择忽略自签名证书,而不是导入它。
您还可以使用Invoke-Command
:
Invoke-Command –ConnectionUri $uri –Credential $cred –ScriptBlock { "do u liek mah hat!?" | Out-File C:\hello.txt }
更多内容这里。您可以在此基础上进行扩展,使用 PowerShell 部署虚拟机并在部署完成后针对它们运行脚本。可能需要查看Azure 管理 cmdlet 参考页面。
这种方法对我来说似乎有点笨重,但如果您只需要启动几个虚拟机,它可能对您来说就很好了。
通过镜像部署
如果您需要比 更重的接触Invoke-Command
,您可能需要研究部署映像。简而言之,您将像准备任何其他 Windows 映像一样准备映像,将其上传到 Azure 中的存储帐户,然后使用管理控制台将 VHD 添加到您的映像中。有一个简短的指南这里。
在我看来,这将是您解决问题的方法。您可以使用启动脚本等来让机器进入您想要的状态,但最好还是直奔主题,直接部署一个完全按照您的需要配置的映像。
答案2
答案3
替代方法,使用IaaS 管理工作室,它会生成命令行,以便您只需单击一下即可通过 powershell 进行连接。(并为其生成命令行)商业,但也许免费试用对您来说就足够了。