gpt4 book ai didi

powershell - Powershell字符串中的变量

转载 作者:行者123 更新时间:2023-12-02 23:15:09 29 4
gpt4 key购买 nike

我试图建立一个由几个其他变量组成的变量,然后包括:

$myString = "{$_.Name -like "
$myString += $computer[0]
$myString += " -Or $_.Name -like "
$myString += $computer[1]+"}"

Get-VM | Where $myString

我已经尝试过使用$($ myString),$ myString,$ {$ myString}等所有可能的组合...
它仍然列出所有计算机,好像没有过滤器一样。如果我回送Get-VM ...,看起来很好,如果我剪切不粘贴,它就可以工作。

有人知道吗?

最佳答案

对象过滤器是脚本块。脚本块在运行时之前进行编译,然后在脚本块中固定其中的变量引用。延迟的一种方法是使用[scriptblock]::create在设置局部变量之后(即在使用之前)创建脚本块。

$myString = "$_.Name -like "
$myString += $computer[0]
$myString += " -Or $_.Name -like "
$myString += $computer[1]

$filter = [scriptblock]::create($myString)

Get-VM | Where $filter

关于powershell - Powershell字符串中的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15502792/

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