【问题标题】:$ path environmental variable for Azure Portal Account Creation$ Azure 门户帐户创建的路径环境变量
【发布时间】:2020-05-06 04:12:39
【问题描述】:

这可能是关于 powershell 的初学者问题,但我有一个 powershell 命令,它会从保存在我桌面上的 CSV 中获取并运行它。具体来说,它将为 Azure 门户创建帐户,并且 CSV 包含新帐户的数据。我的团队将使用它,我们没有相同的路径。如何将我的路径更改为将在 CSV 上为他们获取的环境变量?我的同事建议 $ path 但我不明白它是如何工作的。命令如下:

Import-Csv -路径 C:\Projects\AccountCreationTest.csv | foreach {New-MsolUser -DisplayName $.DisplayName -FirstName $.FirstName -LastName $.LastName -UserPrincipalName $.UserPrincipalName} | Export-Csv -Path C:\Projects\outputazure.csv

我还希望能够在开头添加“Connect-MsolService”,因为如果不连接到 Azure,此脚本将无法运行。我怎样才能将这一切都变成一个简单的步骤,而不必每次都将这个命令复制粘贴到 powershell 中?

【问题讨论】:

  • 为什么你有相同的路径?将文件放在网络共享上并使用 UNC 路径访问它。询问您的同事$ path 的含义。 Powershell 可以通过$env:path 访问系统路径,但这用于查找可执行文件,而不是数据文件。
  • 我相信,因为在执行此脚本之前,该人必须在 powershell 上使用“Connect-MsolService”命令来访问 Azure 模块。所以他是说一步到位?并且不必每次都找到复制粘贴的脚本
  • 请你的同事解释更多细节。在互联网上向陌生人询问你的同事可能或可能不是什么意思是愚蠢的差事。
  • 好吧,他们想要的是让这个脚本运行,但我们每次都能够输入csv的目录,因为每次都会不同。所以我的脚本除了在它有 CSV 目录的地方之外,在目录上选择运行命令的人最后输入的目录或其他任何内容。

标签: azure powershell csv


【解决方案1】:

您可以在脚本的开头添加以下 cmd。

  param(
    [Parameter(Mandatory=$true)]
    [string]$path
  )

然后你可以使用Import-Csv -Path $path 来导入它。它将要求运行脚本的用户输入 csv 文件的完整路径。

【讨论】:

  • 嗨,谢谢你这工作,但我错了我需要这个。我需要运行这个脚本,但我们每次都能够输入 csv 的目录,因为每次都会不同。所以我的脚本除了它有 CSV 目录的地方之外,而是在最后运行命令输入的人的目录上获取
  • @shaheed313 抱歉,您所说的“在最后运行命令的人输入的目录中选择”是什么意思?
猜你喜欢
  • 2013-05-21
  • 2018-03-04
  • 1970-01-01
  • 2021-08-22
  • 1970-01-01
  • 2019-09-26
  • 1970-01-01
  • 2017-01-23
  • 1970-01-01
相关资源
最近更新 更多