【问题标题】:Looking to map an Azure Fileshare as a mapped network drive on an Azure Windows VM via another machine/Custom Script Execution希望通过另一台机器/自定义脚本执行将 Azure 文件共享映射为 Azure Windows VM 上的映射网络驱动器
【发布时间】:2018-07-13 01:24:11
【问题描述】:

我正在尝试配置 Windows VM,我需要将一些 Azure 文件共享映射到将与 VM 交互的 VM 用户的驱动器。

我一直在尝试通过调用一些 PowerShell 脚本来设置到文件共享的映射来使“az vm extension set”/自定义脚本执行为我工作,但由于该进程以 NT AUTHORITY\SYSTEM 身份运行,因此映射是显然不行。我试图通过一个中间脚本来切换我的脚本中的用户上下文,该脚本将上下文更改为我的 VM 用户,然后调用另一个执行该工作的脚本,但这似乎不起作用。

$scriptFile = $args[0]
$username = $args[1]
$password = $args[2]
$securePassword = ConvertTo-SecureString $password -AsPlainText -Force
$credential = New-Object System.Management.Automation.PSCredential $username, 
$securePassword
Start-Process Powershell.exe -Credential $credential $scriptFile 

不幸的是,在我调用的 $scriptFile 中似乎什么都没有运行,而且我无法从标准输出/错误中得到任何错误,所以我不知道如何做到这一点。

之前肯定有人不得不通过自定义脚本执行方法以另一个用户身份运行脚本,我希望他们碰巧读到了这篇文章。

有没有办法设置自定义脚本执行的用户身份?

【问题讨论】:

    标签: powershell azure azure-cli


    【解决方案1】:

    不,无法设置运行脚本扩展的用户。

    您还应该在命令调用中使用-PassThru-Wait 和\或-RedirectStandardError\-RedirectStandardInput。此外,将-ErrorAction Stop 添加到您的命令中以传播错误。

    【讨论】:

    • 编辑脚本使用:“Start-Process Powershell.exe -PassThru -Wait -ErrorAction Stop -RedirectStandardError c:\temp\err.log -RedirectStandardOut c:\temp\out.log -Credential $ credential $scriptFile " err.log 和 out.log 被创建,但每个都是 0 字节。进入辅助脚本的所有内容似乎都进入了真空状态。 :( 当我在本地运行脚本时,当然一切正常。
    猜你喜欢
    • 2021-11-05
    • 1970-01-01
    • 1970-01-01
    • 2011-10-14
    • 2021-06-27
    • 2010-10-08
    • 1970-01-01
    • 2012-02-16
    • 1970-01-01
    相关资源
    最近更新 更多