【发布时间】:2017-11-02 03:06:45
【问题描述】:
我们正在使用 Set-AzureRMVMCustomScriptExtension 命令针对 Azure VM 运行自定义 powershell 脚本。
ps 脚本创建带有“用户名”和“密码”参数的本地用户帐户。
我的理解是 Set-AzureRMVMCustomScriptExtension 支持 -SecureExecution 开关,根据文档 (https://docs.microsoft.com/en-us/powershell/module/azurerm.compute/set-azurermvmcustomscriptextension?view=azurermps-4.4.1&viewFallbackFrom=azurermps-4.4.0)
"表示此 cmdlet 确保 Run 参数的值未登录服务器或使用 GET 扩展 API 返回给用户。Run 的值可能包含要传递给脚本的机密或密码安全地归档。”
但是,提供开关并执行 ps 脚本会导致以下内容被记录到目标 VM 上的“Windows Powershell”事件日志中:
引擎状态从无更改为可用。
详情: NewEngineState=可用 PreviousEngineState=None
SequenceNumber=13
HostName=ConsoleHost
HostVersion=5.1.14393.1770
HostId=
HostApplication=powershell -ExecutionPolicy Unrestricted -file createuser.ps1 -username myNewUser -password somePassword
EngineVersion=5.1.14393.1770
RunspaceId=
PipelineId=
CommandName=
CommandType=
ScriptName=
CommandPath=
CommandLine=
这不是我期望看到的。这是一个错误吗?还是文档不正确?
这是我正在执行的命令:
Set-AzureRmVMCustomScriptExtension -ResourceGroupName $vmResourceGroupName
-VMName $vmName
-StorageAccountName $scriptStorageAccountName
-ContainerName $scriptStorageAccountContainerName
-文件名 $scriptName
-Run $scriptName
-参数 $scriptArguments
-Name $extensionAlias
-位置 $location
-ForceRerun $(New-Guid).Guid
-安全执行
【问题讨论】:
标签: powershell azure azure-powershell azure-automation