针对我的本地gci "IIS:\Sites\My Website"
的IIS使用命令,它将获得输出,其中有一个名为Type
的列:
但是我无法通过 过滤该列,例如
| Where-Object {$_.Type -eq 'application'}
因为Type
可能是关键字(?)。
如何告诉过滤器使用文字列名称?
从gci
模块中的Webadministration
命令生成的原始输出:
Import-Module Webadministration
gci "IIS:\Sites\My Website"
请注意,IIS网站的实际名称必须输入上面显示的“我的网站” 。
完整命令不会过滤掉directory
数据行,而只会保留application
:
gci "IIS:\Sites\My Website" | Where-Object {$_.Type -eq 'application'}
答案 0 :(得分:1)
使用来自此处的字符串和ConvertFrom-Csv的数据进行模拟不会带来问题:
SELECT col1,
col2,
DECODE(
myVariable,
NULL,
0,
myVariable
)
FROM mytable
group by col1, col2;
答案 1 :(得分:1)
编辑:
可以使用$_.nodetype
找到Type属性。
因此,此答案的其余部分不需要
创建您自己的列名。这样,您就可以通过新对象过滤对象:
| Select-Object YourDesiredColumns,@{Name='NewColumn';Expression={$_.Type}}
可能是这样的:
gci "IIS:\Sites\My Website" | Select-Object *,@{Name='Bob';Expression={$_.NodeType}} | Where-Object {$_.Bob -eq 'application'} | ft