【发布时间】:2017-12-16 17:39:09
【问题描述】:
我有一个 powershell 脚本,它返回将由 Splunk 摄取其信息的行,以监控 DHCP 空闲地址。
输出已经经过大量“处理”,看起来像这样(&&& 是 Splunk 事件断路器):
Subnet=10.31.3.0
AddressesInUse=0
AddressesFree=249
&&&
Subnet=10.31.4.0
AddressesInUse=0
AddressesFree=249
&&&
Subnet=10.31.9.0
AddressesInUse=0
AddressesFree=249
&&&
Subnet=10.32.1.0
AddressesInUse=32
AddressesFree=177
&&&
Subnet=10.34.1.0
AddressesInUse=98
AddressesFree=111
&&&
不过,我有一个例外列表,其中包含必须忽略的子网值。我打算将它们写入一个文本文件,从中获取内容,并将变量中的子网值(来自命令结果)替换为 -eq 到任何文本文件行,将其转换为“”(然后我打算在 Splunk 中使用“IfNull(SubnetValue) then ignore event”忽略它们。
预期结果应如下所示:
文件 SubnetExceptions.txt 内容示例:
10.32.1.0
10.34.1.0
预期结果:
Subnet=10.31.3.0
AddressesInUse=0
AddressesFree=249
&&&
Subnet=10.31.4.0
AddressesInUse=0
AddressesFree=249
&&&
Subnet=10.31.9.0
AddressesInUse=0
AddressesFree=249
&&&
Subnet=
AddressesInUse=32
AddressesFree=177
&&&
Subnet=
AddressesInUse=98
AddressesFree=111
&&&
所以我想忽略的那些会作为 Splunk 的“空”值,解决我的问题 :)
我在生活中做了一些替换,但从来没有从文本文件中替换。我的测试惨遭失败。有人可以帮我做吗?
谢谢!
- 大卫
【问题讨论】:
标签: powershell variables replace