在PowerShell Runbook中使用Azure文件共享

时间:2019-01-09 13:06:48

标签: powershell azure-storage azure-powershell

我创建了一个Azure Azure文件共享,我想在其中存储一些SharePoint配置文件,模板和xml。文件已复制到共享并可以使用。

我知道可以用于检索单个文件的Get-AzureStorageFileContent命令,但是我需要将此共享视为共享,因为这些文件是通过PnP设置模板引用的,例如:

  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="webparts\head.xml"/>

当我在本地或网络共享中运行脚本时,此方法工作正常。因此,我的问题是,如何使用UNC路径或将其映射为网络驱动器?

根据文档,我应该可以将其用作smb共享,但是当我尝试连接时,出现此错误:

New-SmbMapping:无法连接到CIM服务器。指定的服务不存在为已安装的服务。

New-PSDrive在Azure Powershell中不存在。我在Azure中找到了这个模块,但是当其中之一需要在Azure中更新.Net时,我停止安装依赖项。

有人可以给我一个端到端指南吗,如何使用Azure File Share实现真正的文件共享功能?

编辑:如果我可以将所有文件从共享复制到当前的临时文件夹,则可以接受的解决方法是,因为从那里我可以使用$env:TEMP访问它们。

2 个答案:

答案 0 :(得分:1)

更新:将所有文件和文件夹递归复制到$ env:temp

PowerShell Runbook中的代码:

y=SalesAmount

测试结果:

enter image description here

我在Azure门户中的文件共享结构:

enter image description here

答案 1 :(得分:0)

您似乎收到的错误与DNS服务器上的权限有关,此Thread提供了以下解决方案:

在DNS服务器/ DC上添加这两个角色:DnsAdmins和WinRMRemoteWMIUsers__。然后在DNS服务器上执行以下操作:

* 1。打开计算机管理控制台。右键单击WMI控件(在“服务和应用程序”下),然后单击“属性”。 2.在新打开的窗口中,单击“安全性”选项卡。

  1. 展开根树,然后单击节点CIMV2,然后单击按钮安全性
  2. 在新打开的窗口中,单击“高级”按钮。
  3. 在新打开的窗口中,单击权限标签下的添加按钮。
  4. 在新打开的窗口中,单击“选择主体”,然后搜索并添加WinRMRemoteWMIUsers__组作为主体,然后单击“确定”。
  5. 在“应用于”中,选择“此命名空间和子命名空间”。
  6. 有关权限,请选中“执行方法”,“启用帐户”和“远程启用”
  7. 单击“确定”三次。
  8. 然后导航到“根– Microsoft – Windows – DNS”节点。做同样的事情,添加WinRMRemoteWMIUsers的权限。
  9. 重新启动服务“ Windows管理规范。
  10. 检查问题是否已解决。*

这是完整的MS official documentation,它提供了在本地连接驱动器的步骤