何时传递给参数的值需要加引号?

问题描述 投票:1回答:2

[我一直在Powershell中与Exchange Online统一组和Microsoft Teams团队合作:New-UnifiedGroup,Set-UnifiedGroup,Get-UnifiedGroup,New-Team,Get-Team等。我一直在使用PowerShell创建组和团队。] >

我有兴趣更好地理解参数值需要引号时以及不要求引号时。

当我从CSV导入时,值似乎会自动解释为字符串。当我将它们提供给需要字符串的参数时,该值即使有空格也不需要引号,例如New-UnifiedGroup -DisplayName $item.displayName即使显示名称有空格也不需要引号。

但是,当我想从一个现有的组中创建一个团队,并且获得该组的ID时,该组ID需用引号引起来:New-Teams -GroupId "$group.ExternalDirectoryObjectId"。在这种情况下,参数-GroupId需要一个字符串值,尽管它所需的ExternalDirectoryObjectId不是字符串。

是否有规则,如果值是字符串,并且不需要字符串,则不需要引号?在将变量传递给需要字符串的参数之前,将变量声明为字符串是否有帮助?例如,如果我有一个$path变量,则通常必须将其提供为-Path "$path"。如果我将路径声明为[String]$path =,那么我是否不需要使用-Path $path

中的引号

我一直在Powershell中与Exchange Online统一组和Microsoft Teams团队合作:New-UnifiedGroup,Set-UnifiedGroup,Get-UnifiedGroup,New-Team,Get-Team等。我一直在创建...]]

string powershell parameters
2个回答
2
投票
  • [通常,仅在PowerShell中使用引号将值显式传递为string

    [string])。

© www.soinside.com 2019 - 2024. All rights reserved.