0

语境:

我已经从azure-quickstart-template 中的201-winrm-windows设置了 ARM 部署。

  • 部署运行良好
  • 我可以使用 WinRM 访问 VM
  • 我可以使用 WinRM 远程运行脚本

问题是我正在尝试在该 VM 上设置存储文件。官方文档要求运行此命令:

net use <drive-letter>:                                       `
    \<storage-account-name>.file.core.windows.net<share-name> `
    /u:<storage-account-name> <storage-account-key>

# Result:
The command completed successfully.

问题:

  • 当命令在本地运行时(VM 上的本地 powershell),我有一条成功消息并出现挂载。
  • 当命令通过 WinRM 运行时,我有相同的成功消息,但是当我连接到 VM 时,我无法访问挂载。

我的代码:

$resourceGroupName  = "resourcegroupname"
$username           = "username"
$storageAccountName = "storageaccountname"
$zone               = "westeurope"
$hostName           = "$resourceGroupName.$zone.cloudapp.azure.com"
$shareFileName      = "test"
$winrmPort          = '5986'
$storageAccountKey  = "......................"

$cred = new-object                                       `
     -typename System.Management.Automation.PSCredential `
     -argumentlist $username, $password

$soptions = New-PSSessionOption -SkipCACheck

Invoke-Command                     `
    -ComputerName  $hostName       `
    -Credential    $cred           `
    -Port          $winrmPort      `
    -SessionOption $soptions       `
    -filepath      .\provision.ps1 `
    -UseSSL                        `
    -ArgumentList                  `
        $storageAccountName,       `
        $storageAccountKey,        `
        $shareFileName

和供应文件.\provision.ps1

Param (
    [Parameter(Mandatory=$True,Position=0)]
    [string]$accountStorageName,

    [Parameter(Mandatory=$True,Position=1)]
    [string]$accountStorageKey,

    [Parameter(Mandatory=$True,Position=2)]
    [string]$shareFileName
)

net use w:                                                     `
    \\$accountStorageName.file.core.windows.net\$shareFileName `
    /user:$accountStorageName $accountStorageKey

笔记:

  • 我的问题与类似,但作者没有回应。
4

2 回答 2

1

在这种情况下,您遇到的问题是 WinRM 作为 NetworkService 运行。当您通过 WinRM 'net use' 时,为 NetworkService 用户完成了挂载操作,您无法通过连接到 VM 的其他用户访问它。您需要确保挂载操作是通过您访问共享所需的相同用户上下文完成的。

于 2016-04-08T23:36:12.767 回答
0

刚刚尝试了您所做的,但我可以成功访问挂载。一个小的区别是我先连接到虚拟机,然后挂载文件共享,我没有像你那样将这两个步骤合二为一,不确定是不是这个问题,只是想和你分享一下,供你参考.

我在文件共享中上传了一个文件,我可以访问文件共享并获取文件,如下快照所示: 在此处输入图像描述

从 RDP 更新访问权限: 在此处输入图像描述
在此处输入图像描述

于 2016-03-30T01:33:03.303 回答