我在理解"Get-Member"定义列时遇到问题.我正在做:
$Array = "ans", "zwei","drei"
Run Code Online (Sandbox Code Playgroud)
$Array.GetType()
回馈 - 正如预期的那样 - BaseType=System.Array
然后:
$Array | gm
Run Code Online (Sandbox Code Playgroud)
什么都没说一个方法Add()
- 这是正确的,因为$Array
是一个数组.
但:
gm -inputobject $Array
Run Code Online (Sandbox Code Playgroud)
正在向我展示一个Add()
方法 - 定义
int IList.Add(System.Object value).
Run Code Online (Sandbox Code Playgroud)
当然:$Array.Add("vier")
不起作用.
我知道:IList是一个接口等,但它完全错了,因为我们讨论的是Array类型的变量?
为了让混乱变得完美:我的ISE的智能感知(PS版本:4)也显示了Add()
-Method.
真是一团糟.如何使用Get-Member正确理解"定义"列?
我发现了一个类似的函数:
function New-ActiveDirectoryForest {
param(
[Parameter(Mandatory)]
[string]$Name,
[Parameter(Mandatory)]
[pscredential]$Credential,
[Parameter(Mandatory)]
[string]$SafeModePassword,
[Parameter(Mandatory)]
[string]$ComputerName
)
Invoke-Command -ComputerName $ComputerName -Credential $Credential -ScriptBlock {
Install-windowsfeature -Name AD-Domain-Services
$forestParams = @{
DomainName = $using:Name
InstallDns = $true
Confirm = $false
SafeModeAdministratorPassword = (ConvertTo-SecureString -AsPlainText -String $using:SafeModePassword -Force)
WarningAction = 'Ignore'
}
$null = Install-ADDSForest @forestParams
}
}
Run Code Online (Sandbox Code Playgroud)
$using:Name
或$using:SafeModePassword
代表什么?
感谢您的帮助。
我想停止名为“ALG”的服务,所以我使用:"alg" | stop-service
有用。
Get-help stop-service -parameter name
说:
Pipeline input:true(ByPropertyName, ByValue)
而“alg”是“ByPropertyValue”,对吗?
我想停止名为记事本的进程,因此我使用:"notepad" | stop-process
并且收到错误。
Get-help stop-process -parameter name
说:Pipeline input true(ByPropertyName)
“记事本”是“ByPropertyName”?
为什么会出现这个错误?