我正在尝试使用 AzureRM 自定义脚本扩展下载并恢复针对 SQL 服务器的数据库备份,文件下载正常,但恢复失败,并出现访问被拒绝的情况(“对于数据库‘master’”),我认为这是因为该脚本以本地系统帐户身份运行且没有权限。
对于我作为 Azure 自动化的一部分执行的许多其他活动,我可以传递一个凭据对象来处理这些内容而不存储机密(即作为参数传递的 get-credential 的结果),但 Set-AzureRmCustomScriptExtension 仅允许“string”类型的参数
如何在该自定义脚本扩展中设置 restore-sqldatabasebackup 命令行以使用有权限执行此操作的现有用户?
答案1
好吧,您可以“动态”构建凭证对象:
$cred = [pscredential]::new('administrator',(ConvertTo-SecureString -String '!Q2w3e4r' -AsPlainText -Force))
您显然可以在这里使用变量并将其传递到自定义脚本扩展中。另一个选项 - 授予本地系统权限以恢复数据库;)