14、深入探索 Azure 自动化与远程应用服务

深入探索 Azure 自动化与远程应用服务

在当今数字化的时代,云计算为个人、企业和大型计算机公司带来了诸多便利和机遇。Azure 提供了丰富的服务,其中 Azure 自动化和 Azure 远程应用服务尤为重要。本文将详细介绍这两项服务的关键概念、操作步骤和相关的 PowerShell 命令。

1. Azure 自动化服务

Azure 自动化服务基于 PowerShell 工作流引擎构建,可帮助用户自动化各种任务。下面将介绍其中的集成模块资产和计划资产。

1.1 集成模块资产

集成模块资产是一个 PowerShell 模块,用户将其上传到 Azure 自动化账户,以便为 Azure 自动化服务添加新的活动。

  • 默认模块 :Azure 自动化服务默认包含以下模块:
  • Azure
  • Microsoft.PowerShell.Core
  • Microsoft.PowerShell.Diagnostics
  • Microsoft.PowerShell.Management
  • Microsoft.PowerShell.Security
  • Microsoft.PowerShell.Utility
  • Microsoft.WSMan.Management

  • 模块要求 :集成模块必须压缩为 *.zip 文件,最大大小为 40 MB,且模块文件必须包含以下文件之一:

  • Windows PowerShell 模块(psm1 文件)
  • Windows PowerShell 模块清单(psd1 文件)
  • 程序集(dll 文件)

  • 上传和导入模块 :将模块 zip 文件上传到公共存储(如 Azure blob 或 FTP)后,可使用 New-AzureAutomationModule 命令导入模块。

# 导入集成模块
New-AzureAutomationModule -AutomationAccountName 'DevTestAA' -Name XYZ -ContentLink  http://mylabstorage.blob.core.windows.net/modules/XYZ.zip
  • 更新模块 :使用 Set-AzureAutomationModule 命令可修改模块设置或上传新版本的模块。
# 更新集成模块
New-AzureAutomationModule -AutomationAccountName 'DevTestAA' -Name XYZ -ContentLink  http://mylabstorage.blob.core.windows.net/modules/XYZ.zip -ContentLinkVersion "1.1"
  • 其他相关命令 :还可以使用 Get-AzureAutomationModule Remove-AzureAutomationModule 命令来获取和删除模块。
1.2 计划资产

自动化计划资产用于使运行手册在特定时间自动运行,类似于云环境中的任务调度器。可以配置计划资产按小时、每天或一次性运行运行手册。

  • 创建计划资产 :使用 New-AzureAutomationSchedule 命令定义新的计划资产,该命令有三个参数集,分别对应不同的计划类型:ByHourly、ByDaily 和 ByOneTime。
# 创建一次性计划资产
$StartTime = (Get-Date "18:30:00").AddDays(1)
New-AzureAutomationSchedule -AutomationAccountName DevTestAA -Name OneTimeSchedule -StartTime $StartTime -OneTime

# 创建每八小时运行一次的计划资产
$StartTime = (Get-Date "18:30:00")
$EndTime = $StartTime.AddMonths(1)
New-AzureAutomationSchedule -AutomationAccountName DevTestAA -Name HourlySchedule -StartTime $StartTime -ExpiryTime $EndTime -HourInterval 8

# 创建每两天运行一次的计划资产
$StartTime = (Get-Date "18:30:00")
$EndTime = $StartTime.AddMonths(1)
New-AzureAutomationSchedule -AutomationAccountName DevTestAA -Name DailySchedule -StartTime $StartTime -ExpiryTime $EndTime -DayInterval 2
  • 启用或禁用计划资产 :使用 Set-AzureAutomationSchedule 命令和 -IsEnabled 参数可根据需要启用或禁用计划资产。
# 禁用自动化计划
Set-AzureAutomationSchedule -AutomationAccountName DevTestAA -Name HourlySchedule -IsEnabled $false
  • 关联计划和运行手册 :使用 Register-AzureAutomationScheduledRunbook 命令将特定计划关联到运行手册,使用 Unregister-AzureAutomationScheduledRunbook 命令取消关联。
# 注册计划到运行手册
Register-AzureAutomationScheduledRunbook -AutomationAccountName DevTestAA -RunbookName HelloWorldRunbook -ScheduleName HourlySchedule

# 取消注册计划到运行手册
Unregister-AzureAutomationScheduledRunbook -AutomationAccountName DevTestAA -RunbookName HelloWorldRunbook -ScheduleName HourlySchedule
  • 查询和删除计划资产 :使用 Get-AzureAutomationScheduledRunbook 命令查询计划运行手册列表,使用 Get-AzureAutomationSchedule 命令获取计划资产列表及其属性,使用 Remove-AzureAutomationSchedule 命令删除计划资产。
2. Azure 远程应用服务

在移动办公日益普及的今天,企业需要确保员工能够在各种设备上访问核心业务应用程序。Azure 远程应用服务提供了一种解决方案,可将 Windows 应用程序交付给任何设备上的用户。

2.1 什么是 Azure 远程应用

RemoteApp 最初是 Windows Server 中的远程桌面服务(RDS),现在是 Azure 的托管服务之一。它可以将虚拟应用程序交付给用户,用户无需在设备上安装应用程序,即可在任何设备上使用。

2.2 使用 PowerShell 构建 Azure 远程应用环境

可以使用 RemoteApp PowerShell 命令创建和配置 Azure 远程应用环境。以下是构建环境的详细步骤:

  • 步骤 1:构建 Azure 远程应用自定义映像
  • 选择默认模板映像 :使用 Get-AzureRemoteAppTemplateImage 命令列出可用的默认和自定义模板映像。
# 列出 Azure 远程应用模板映像
Get-AzureRemoteAppTemplateImage | Select Name
  • 使用预配置的 RDSH VM 映像 :从 Azure 门户创建虚拟机,搜索 Windows Server 远程桌面会话主机映像。也可以使用 PowerShell 命令获取 RDSH 映像并创建虚拟机。
# 列出远程桌面会话主机(RDSH)的 Azure VM 映像
$RDSH_Image = Get-AzureVMImage | `
Where Label -like "Windows Server Remote Desktop Session Host*" | `
Select Label, ImageName, PublishedDate, RecommendedVMSize | `
Sort PublishedDate -Descending | `
Select -First 1 | fl

# 预配 Azure VM - 带有 RDSH 的 Windows Server 2012
$RemoteAppVM = New-AzureQuickVM -Windows `
-Name RemoteAppTemplate `
-ServiceName 'myRemoteAppTemplates' `
-ImageName $RDSH_Image.ImageName `
-Password Microsoft@123 `
-AdminUsername SherifT `
-AffinityGroup "AAGWE01" `
-InstanceSize $RDSH_Image.RecommendedVMSize

# 生成 RDP 文件
$FileName = $RemoteAppVM.Name + ".rdp"
Get-AzureRemoteDesktopFile -ServiceName $RemoteAppVM.ServiceName `
-Name $RemoteAppVM.Name `
-LocalPath $home\Desktop\AzureRDPs\$FileName
  • 安装应用程序并验证映像 :连接到虚拟机,安装所需的应用程序(如 Google Chrome),然后运行桌面上的 ValidateRemoteAppImage 脚本验证映像配置。
  • 捕获 VM 映像并导入为远程应用模板映像 :使用 Save-AzureVMImage 命令捕获 VM 映像,使用 New-AzureRemoteAppTemplateImage 命令将其导入为远程应用模板映像。
# 捕获 Azure VM 映像
Save-AzureVMImage -ServiceName 'myRemoteAppTemplates' `
-Name 'RemoteAppTemplate' `
-ImageName "RemoteAppTemplatev1" `
-ImageLabel "my Azure RemoteApp Template" `
-OSState Generalized

# 创建 Azure 远程应用模板映像
New-AzureRemoteAppTemplateImage -ImageName RemoteAppwithChrome `
-Location 'North Europe' `
-AzureVmImageName ' RemoteAppTemplatev1'
  • 重命名和删除模板映像 :使用 Rename-AzureRemoteAppTemplateImage 命令重命名模板映像,使用 Remove-AzureRemoteAppTemplateImage 命令删除模板映像。

  • 步骤 2:创建 Azure 远程应用集合

  • 集合类型 :Azure 远程应用有两种类型的集合:云集合和混合集合。两者都托管在 Azure 上并存储数据,用户可以使用 Active Directory 凭据访问应用程序。混合集合允许访问本地网络上存储的数据和资源。
  • 创建云集合 :使用 New-AzureRemoteAppCollection 命令创建云集合,需要指定集合名称、模板映像名称、定价计划、位置和描述。
# 创建 Azure 远程应用云集合
New-AzureRemoteAppCollection -CollectionName 'col1' `
-ImageName 'RemoteAppTemplateWithChrome' `
-Plan Basic `
-Location 'North Europe' `
-Description 'Chrome Application'
  • 跟踪集合预配状态 :使用 Get-AzureRemoteAppOperationResult 命令跟踪集合预配过程的状态。
# 跟踪集合预配过程的状态
Get-AzureRemoteAppOperationResult -TrackingId 71a3dc4c-9818-494c-aa11-2f4a03e01e00 | fl
  • 创建混合集合 :创建混合集合前,需要确保已创建并连接到本地网络的 Azure 虚拟网络。使用 New-AzureRemoteAppCollection 命令,除了云集合的参数外,还需要指定虚拟网络名称、子网名称、DNS 服务器、域名、凭据和组织单位。
# 创建 Azure 远程应用混合集合
New-AzureRemoteAppCollection -CollectionName 'col1' `
-ImageName 'RemoteAppTemplateWithChrome' `
-Plan Basic `
-Description 'Chrome Application'
-VNetName 'S2SvNET' `
-SubnetName 'ARAsubnet' `
-Domain 'Company123.com' `
-Credentials (Get-Credential ServiceAccount@Company123.com)
  • 修改集合设置 :使用 Set-AzureRemoteAppCollection 命令修改集合设置,如更改定价计划、更新凭据和设置 RDP 重定向选项。
# 设置 Azure 远程应用集合自定义 RDP 属性
Set-AzureRemoteAppCollection -CollectionName col1 `
-CustomRdpProperty "drivestoredirect:s:*`nusbdevicestoredirect:s:*"

# 禁用智能卡重定向
Set-AzureRemoteAppCollection -CollectionName col1 `
-CustomRdpProperty "redirectsmartcards:i:0"
  • 更新集合 :使用 Update-AzureRemoteAppCollection 命令更新集合,可指定新的模板映像名称,并可选择强制用户注销并重新连接。
# 更新 Azure 远程应用集合
Update-AzureRemoteAppCollection -CollectionName col1 `
-ImageName RATemplateWithBrowsers `
-ForceLogoffWhenUpdateComplete

综上所述,Azure 自动化和远程应用服务为用户提供了强大的自动化和应用程序交付能力。通过使用 PowerShell 命令,用户可以方便地配置和管理这些服务,满足不同的业务需求。

深入探索 Azure 自动化与远程应用服务

3. Azure 远程应用服务的其他操作与注意事项
3.1 RDP 重定向选项详解

在使用 Set - AzureRemoteAppCollection 命令设置 RDP 重定向选项时,了解各个选项的含义和作用非常重要。以下是详细的 RDP 重定向选项及其 PowerShell 值的表格:

重定向选项 设置值 是否启用
在本地计算机上播放声音(在此计算机上播放) audiomode:i:0
从本地计算机捕获音频并发送到远程计算机(从此计算机录制) audiocapturemode:i:1
打印到本地打印机 redirectprinters:i:1
COM 端口 redirectcomports:i:1
智能卡设备 redirectsmartcards:i:1
剪贴板(复制和粘贴功能) redirectclipboard:i:1
ClearType 字体平滑 allowfontsmoothing:i:1
重定向所有支持的即插即用设备 devicestoredirect:s:*
驱动器重定向(驱动器映射) drivestoredirect:s:*
USB 重定向 usbdevicestoredirect:s:*

当需要启用或禁用某个重定向选项时,只需修改相应设置值的最后一位数字。例如,将 redirectsmartcards:i:1 改为 redirectsmartcards:i:0 即可禁用智能卡重定向。

graph LR
    A[设置 RDP 重定向选项] --> B{启用或禁用选项}
    B -->|启用| C[修改设置值为 1]
    B -->|禁用| D[修改设置值为 0]
3.2 集合更新的注意事项

在使用 Update - AzureRemoteAppCollection 命令更新 Azure 远程应用集合时,有一些注意事项需要牢记。

  • 自定义模板映像更新 :对于 RemoteApp 自定义模板映像,更新过程需要手动完成。这意味着你需要确保新的模板映像符合所有要求,并且在更新前进行充分的测试。
  • 用户通知和处理 :如果不使用 -ForceLogoffWhenUpdateComplete 参数,用户将收到在 60 分钟内注销的提醒,以便他们有足够的时间保存工作。但在某些情况下,为了确保更新顺利进行,可能需要使用该参数强制用户注销并重新连接。
4. 总结与最佳实践
4.1 总结

Azure 自动化服务和 Azure 远程应用服务为企业和用户提供了强大的功能。Azure 自动化服务通过集成模块资产和计划资产,帮助用户自动化各种任务,提高工作效率。而 Azure 远程应用服务则解决了移动办公环境下用户访问 Windows 应用程序的问题,通过创建自定义映像和集合,实现了应用程序的远程交付。

4.2 最佳实践
  • Azure 自动化服务最佳实践
  • 模块管理 :定期清理不再使用的集成模块,避免占用过多的存储空间。同时,及时更新模块以获取最新的功能和安全补丁。
  • 计划资产管理 :合理安排计划资产的运行时间,避免资源冲突。定期检查计划资产的状态,确保其正常运行。
  • Azure 远程应用服务最佳实践
  • 映像创建 :在创建自定义映像时,确保安装的应用程序和配置符合企业的安全和合规要求。使用预配置的 RDSH VM 映像可以节省时间和精力。
  • 集合管理 :根据企业的需求选择合适的集合类型(云集合或混合集合)。定期更新集合以保持应用程序的最新状态,并合理设置 RDP 重定向选项以提高用户体验。

通过遵循这些最佳实践,用户可以更好地利用 Azure 自动化和远程应用服务,满足不同的业务需求,提升企业的竞争力。

总之,Azure 自动化和远程应用服务是云计算领域的重要工具,它们为企业和用户提供了便捷、高效的解决方案。通过深入了解和掌握这些服务的使用方法,用户可以充分发挥它们的优势,实现业务的自动化和应用程序的远程交付。

【四轴飞行器】非线性三自由度四轴飞行器模拟器研究(Matlab代码实现)内容概要:本文围绕非线性三自由度四轴飞行器的建模仿真展开,重点介绍了基于Matlab的飞行器动力学模型构建控制系统设计方法。通过对四轴飞行器非线性运动方程的推导,建立其在三维空间中的姿态位置动态模型,并采用数值仿真手段实现飞行器在复杂环境下的行为模拟。文中详细阐述了系统状态方程的构建、控制输入设计以及仿真参数设置,并结合具体代码实现展示了如何对飞行器进行稳定控制轨迹跟踪。此外,文章还提到了多种优化控制策略的应用背景,如模型预测控制、PID控制等,突出了Matlab工具在无人机系统仿真中的强大功能。; 适合人群:具备一定自动控制理论基础和Matlab编程能力的高校学生、科研人员及从事无人机系统开发的工程师;尤其适合从事飞行器建模、控制算法研究及相关领域研究的专业人士。; 使用场景及目标:①用于四轴飞行器非线性动力学建模的教学科研实践;②为无人机控制系统设计(如姿态控制、轨迹跟踪)提供仿真验证平台;③支持高级控制算法(如MPC、LQR、PID)的研究对比分析; 阅读建议:建议读者结合文中提到的Matlab代码仿真模型,动手实践飞行器建模控制流程,重点关注动力学方程的实现控制器参数调优,同时可拓展至多自由度或复杂环境下的飞行仿真研究。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值