【问题标题】:PowerShell: Members: Methods and Properties documentation in the ISEPowerShell:成员:ISE 中的方法和属性文档
【发布时间】:2013-09-05 15:00:36
【问题描述】:

我在哪里可以获得有关 Powershell ISE 中的方法和属性的帮助文档 [示例]。例如Join 方法。

-join $a[3,4,5]; #trying to extract a part of a string

当我($a | gm)时,它甚至没有列出。

【问题讨论】:

  • 你能扩展你想要的吗?
  • function Get-Diskinfo {[cmdletbinding()] param([string[]]$Computername='XEUTS001', [string[]]$drive='c:') $a="-加入 $Computername[1..3]" get-WmiObject win32_logicaldisk -Filter "DeviceID = '$drive'" -ComputerName $Computername -Credential (Get-Credential -Credential ayan-$a)|选择对象 @{n='Size';e={$_.size / 1gb -as [int]}}, @{n='free';e={$_.freespace / 1gb -as [int] }}, @{n='% free';e={$_.freespace / $_.size *100 -as [int]}} |格式表 -AutoSize }
  • 我写了这个函数来获取磁盘的一些细节。但是,我必须在多域环境中远程运行它们。对于不同 OU 中的计算机,我们有不同的用户名。我希望脚本能够从计算机名本身中获取用户名。用户名采用这种格式——“名称”+“计算机名的前 3 个字母”,即 OU 名称。我能够让 -Join 方法正常工作。但是,如果变量是函数中的参数,则它不起作用。在这里,当我希望它显示为“ayan-xeu”时,用户名显示为“ayan--join xeuts001[1..3]”

标签: powershell powershell-3.0 powershell-ise


【解决方案1】:

您将 Powershell 中存在的运算符和 cmdlet 与 (.NET) 对象的方法和属性混淆了。 gmGet-Member 只会显示后者。

您可以通过 get-help about_join 了解 -join 或查看此处 - http://technet.microsoft.com/en-us/library/hh847757.aspx

查看 about_Operator 以了解其他可用的运算符 - http://technet.microsoft.com/en-us/library/hh847732.aspx

【讨论】:

    【解决方案2】:

    那是因为-join 不是“方法”,而是运算符

    请参阅 get-help about_operators(查找 Split and Join Operators)和 get-help about_join

    【讨论】:

      猜你喜欢
      • 2012-03-07
      • 2021-12-02
      • 2023-03-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多