Powershell脚本不处理所有行,但只处理几行
我正在使用powershell脚本将ASCII格式的SNMP OID输出转换为char。我面临着从文本文件转换更多行的问题,它只能处理几行文字。如果我添加更多的线,那么它只处理很少的线。我无法确定问题在我的脚本上。寻找有关问题可能出现的指导。Powershell脚本不处理所有行,但只处理几行
PowerShell脚本如下,脚本使用
$FileName = "C:\LBOIDOUTSORT.txt"
if (Test-Path $FileName) {
Remove-Item $FileName
}
Get-Content "C:\LBOIDOUT.txt"| Sort-Object | get-unique >> "C:\LBOIDOUTSORT.txt"
$RawData0 = Get-Content "C:\LBOIDOUTSORT.txt" -ReadCount 1000
$parentarray = @()
$parentarray += "URL Name,Server Name, IPAdress"
foreach ($RawDataline in $RawData0) {
$rawinfo = $RawDataline -replace ("ltmPoolMemberTable\.ltmPoolMemberEntry\.ltmPoolMemberAddr\.|%255255| OCTET STRING- \(ascii\): | ")
$rawinfo = $rawinfo -split ':'
$rawserverip = $rawinfo[1]
$rawurlarray = $rawinfo[0] -split '\.'
$temparray = @()
foreach ($rawurlarrayvalue in $rawurlarray) {
$oid = [int]$rawurlarrayvalue
if (($oid -gt 44) -and ($oid -le 128)) {
$oid = $oid
}
else {
$oid = 32
}
$temparray += [char[]]$oid
}
$tempvalue = -join $temparray
$childarray = $tempvalue -split '/'
$servername = ($childarray[4] -replace " ")
$urlserverip = ($childarray[2] -replace" ") + "," + $servername+","+$rawserverip
$parentarray += $urlserverip
}
$parentarray
示例文本文件的内容。
ltmPoolMemberTable.ltmPoolMemberEntry.ltmPoolMemberAddr.66.47.66.65.66.67.68.69.66.47.70.71.72.73.74.75.76.66.47.66.65.66.67.68.69.66.47.70.71.72.73.74.75.76:OCTET与字符串(ASCII) :10.0.255.9%255255 ltmPoolMemberTable.ltmPoolMemberEntry.ltmPoolMemberAddr.66.47.66.65.66.67.68.69.66.47.70.71.72.73.74.75.76.66.47.66.65.66.67.68.69.66.47.70.71.72.73.74.75.76:OCTET STRING- (ascii):10.0.255.9%255255 ltmPoolMemberTable.ltmPoolMemberEntry.ltmPoolMemberAddr.66.47.66.65.66.67.68.69.66.47.70.71.72.73.74.75.76.66.47.66.65.66.67.68.69.66.47.70.71.72.73.74.75.76: OCTET STRING-(ascii):10.0.255.9%255255 ltmPoolMemberTable.ltmPoolMemberEntry.ltmPoolMemberAddr.66.47.66.65.66.67.68.69.66.47.70.71.72.73.74.75.76.66.47.66.65.66.67.68.69.66.47.70.71.72.73.74 .75.76:OCTET STRING-(asci i):10.0.255.9%255255 ltmPoolMemberTable.ltmPoolMemberEntry.ltmPoolMemberAddr.66.47.66.65.66.67.68.69.66.47.70.71.72.73.74.75.76.66.47.66.65.66.67.68.69.66.47.70.71.72.73.74.75.76:OCTET STRING-(ascii):10.0.255.9%255255
如果我在文本文件内多次复制上述内容,则会出现问题。
问候, 纳雷什
我能够从下面管道上卸下-readcount参数后,解决问题。
旧线
$RawData0 = Get-Content "C:\LBOIDOUTSORT.txt" -ReadCount 1000
修改行
$RawData0 = Get-Content "C:\LBOIDOUTSORT.txt"
这解决了这个问题。
谷歌1.3.6.1.4.1.3375.2.2.5.3.2.1.3给你所有的信息。 –