gpt4 book ai didi

powershell - PowerShell 参数和管道的推荐格式

转载 作者:行者123 更新时间:2023-12-02 12:40:49 25 4
gpt4 key购买 nike

以这样的命令为例:

Get-AdUser -Filter {Enabled -eq $true} -Credential (Get-Credentials) -Server some.server.domain.com | Where-Object {DisplayName -like '*Reemer, Bob*'}

当然,它很恶心、很长并且超出了屏幕...将其分成多行(以提高可读性)的首选方法是什么?

请给出适用于 ISE、普通 powershell 解释器和脚本的示例。

最佳答案

Of course it is gross and long...

它对我来说看起来非常好,但如果你想要更短的线,我建议 splatting :

$ADUserParams = @{
Filter = {Enabled -eq $true}
Credential = (Get-Credential)
Server = 'some.server.domain.com'
}
Get-ADUser @ADUserParams | Where-Object {DisplayName -like '*Reemer, Bob*'}

您还可以将 Where-Object 过滤器脚本 block 拆分为多行:

Get-ADUser -Filter {Enabled -eq $true} -Credential (Get-Credentials) -Server some.server.domain.com | Where-Object {
DisplayName -like '*Reemer, Bob*'
}

如果您总是多次重复使用相同的参数值,则可以使用 $PSDefaultParameterValues还有:

$PSDefaultParameterValues['*-AD*:Server'] = 'some.server.domain.com'
Get-ADUser -Filter {Enabled -eq $true} -Credential (Get-Credentials) | Where-Object {DisplayName -like '*Reemer, Bob*'}

当然,您可以将它们全部组合起来:

$PSDefaultParameterValues['*-AD*:Server'] = 'some.server.domain.com'
$ADUserParams = @{
Filter = {Enabled -eq $true}
Credential = (Get-Credential)
}
Get-ADUser @ADUserParams | Where-Object {
DisplayName -like '*Reemer, Bob*'
}

关于powershell - PowerShell 参数和管道的推荐格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46938433/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com