首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >PowerShell多输入IP地址

PowerShell多输入IP地址
EN

Stack Overflow用户
提问于 2018-09-14 07:05:44
回答 1查看 731关注 0票数 1

在这段代码中有一个多输入的问题:

代码语言:javascript
运行
复制
cls
Install-Module SNMP
Get-Command -Module SNMP

Write-Output ----------------------------------------
$IP = "192.168.15.1"
Write-Output ----------------------------------------
Write-Output "Selected IP is: $IP"
Write-Output ----------------------------------------

Invoke-SnmpWalk -IP $IP -Community public -OID .1.3.6.1.2.1.2.2.1.2  | Format-Table Data -AutoSize -HideTableHeaders | Out-File C:\NameP.ps1xml 

Get-Content C:\NameP.ps1xml  | Where { $_ -ne ""  } | Set-Content C:\NameP1.ps1xml 
$Ports = @(Get-Content C:\NameP1.ps1xml | Where-Object { $_.StartsWith("Unit") } )
$NumberOfports = @(Get-Content C:\NameP1.ps1xml | Where-Object { $_.StartsWith("Unit") } ).Count

Write-Output ----------------------------------------
Write-Output "Name ports: "$Ports  
Write-Output ----------------------------------------
Write-Output "Number of ports:  $NumberOfports"

这是一个交换机的IP地址,a我需要通过多个不同IP地址的产品的交换机,例如192.168.16.1,192.168.17.1,突然之间有一个带有IP列表的脚本或类似的东西。

我的产出:

代码语言:javascript
运行
复制
 CommandType     Name                                               Version    Source     
-----------     ----                                               -------    ------     
Function        Get-SnmpData                                       1.0.0.1    SNMP       
Function        Invoke-SnmpWalk                                    1.0.0.1    SNMP       
Function        Set-SnmpData                                       1.0.0.1    SNMP       
----------------------------------------
----------------------------------------
Selected IP is: 192.168.15.1
----------------------------------------
----------------------------------------
Name of ports: 
Unit: 1 1000BASE-T RJ45 Gigabit Ethernet Frontpanel Port 1                   
Unit: 1 1000BASE-T RJ45 Gigabit Ethernet Frontpanel Port 2                   
Unit: 1 1000BASE-T RJ45 Gigabit Ethernet Frontpanel Port 3                   
Unit: 1 1000BASE-T RJ45 Gigabit Ethernet Frontpanel Port 4                   
Unit: 1 1000BASE-T RJ45 Gigabit Ethernet Frontpanel Port 5                   
Unit: 1 1000BASE-T RJ45 Gigabit Ethernet Frontpanel Port 6                   
Unit: 1 1000BASE-T RJ45 Gigabit Ethernet Frontpanel Port 7                   
Unit: 1 1000BASE-T RJ45 Gigabit Ethernet Frontpanel Port 8                   
Unit: 1 1000BASE-T RJ45 Gigabit Ethernet Frontpanel Port 9                   
Unit: 1 1000BASE-T RJ45 Gigabit Ethernet Frontpanel Port 10                  
Unit: 1 1000BASE-T RJ45 Gigabit Ethernet Frontpanel Port 11                  
Unit: 1 1000BASE-T RJ45 Gigabit Ethernet Frontpanel Port 12                  
Unit: 1 1000BASE-T RJ45 Gigabit Ethernet Frontpanel Port 13                  
Unit: 1 1000BASE-T RJ45 Gigabit Ethernet Frontpanel Port 14                  
Unit: 1 1000BASE-T RJ45 Gigabit Ethernet Frontpanel Port 15                  
Unit: 1 1000BASE-T RJ45 Gigabit Ethernet Frontpanel Port 16                  
Unit: 1 1000BASE-T RJ45 Gigabit Ethernet Frontpanel Port 17                  
Unit: 1 1000BASE-T RJ45 Gigabit Ethernet Frontpanel Port 18                  
Unit: 1 1000BASE-T RJ45 Gigabit Ethernet Frontpanel Port 19                  
Unit: 1 1000BASE-T RJ45 Gigabit Ethernet Frontpanel Port 20                  
Unit: 1 1000BASE-T RJ45 Gigabit Ethernet Frontpanel Port 21                  
Unit: 1 1000BASE-T RJ45 Gigabit Ethernet Frontpanel Port 22                  
Unit: 1 1000BASE-T RJ45 Gigabit Ethernet Frontpanel Port 23                  
Unit: 1 1000BASE-T RJ45 Gigabit Ethernet Frontpanel Port 24                  
Unit: 1 1000BASE-T RJ45 Gigabit Ethernet Frontpanel Port 25                  
Unit: 1 1000BASE-T RJ45 Gigabit Ethernet Frontpanel Port 26                  
Unit: 1 1000BASE-T RJ45 Gigabit Ethernet Frontpanel Port 27                  
Unit: 1 1000BASE-T RJ45 Gigabit Ethernet Frontpanel Port 28                  
Unit: 1 1000BASE-T RJ45 Gigabit Ethernet Frontpanel Port 29                  
Unit: 1 1000BASE-T RJ45 Gigabit Ethernet Frontpanel Port 30                  
Unit: 1 1000BASE-T RJ45 Gigabit Ethernet Frontpanel Port 31                  
Unit: 1 1000BASE-T RJ45 Gigabit Ethernet Frontpanel Port 32                  
Unit: 1 1000BASE-T RJ45 Gigabit Ethernet Frontpanel Port 33                  
Unit: 1 1000BASE-T RJ45 Gigabit Ethernet Frontpanel Port 34                  
Unit: 1 1000BASE-T RJ45 Gigabit Ethernet Frontpanel Port 35                  
Unit: 1 1000BASE-T RJ45 Gigabit Ethernet Frontpanel Port 36                  
Unit: 1 1000BASE-T RJ45 Gigabit Ethernet Frontpanel Port 37                  
Unit: 1 1000BASE-T RJ45 Gigabit Ethernet Frontpanel Port 38                  
Unit: 1 1000BASE-T RJ45 Gigabit Ethernet Frontpanel Port 39                  
Unit: 1 1000BASE-T RJ45 Gigabit Ethernet Frontpanel Port 40                  
Unit: 1 1000BASE-T RJ45 Gigabit Ethernet Frontpanel Port 41                  
Unit: 1 1000BASE-T RJ45 Gigabit Ethernet Frontpanel Port 42                  
Unit: 1 1000BASE-T RJ45 Gigabit Ethernet Frontpanel Port 43                  
Unit: 1 1000BASE-T RJ45 Gigabit Ethernet Frontpanel Port 44                  
Unit: 1 1000BASE-T RJ45 Gigabit Ethernet Frontpanel Port 45 - no sfp inserted
Unit: 1 1000BASE-T RJ45 Gigabit Ethernet Frontpanel Port 46 - no sfp inserted
Unit: 1 1000BASE-T RJ45 Gigabit Ethernet Frontpanel Port 47 - no sfp inserted
Unit: 1 1000BASE-T RJ45 Gigabit Ethernet Frontpanel Port 48 - no sfp inserted
----------------------------------------
Number of ports:  48

我想要更多的IP输出。您有任何简单的解决方案,可以通过多个IP地址吗?然后我还在处理这些数据。谢谢你的每一个想法。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-14 19:20:50

  1. 提供多个IP作为“列表”,
  2. 只需将重复的代码封装在Foreach循环中即可。

因此:

代码语言:javascript
运行
复制
Install-Module SNMP
Get-Command -Module SNMP
Write-Output ----------------------------------------
$IP = "192.168.15.1","192.168.17.1" # Add more to the list
Write-Output ----------------------------------------
Write-Output "Selected IP is: $IP"
Write-Output ----------------------------------------

$IP | % {
    Invoke-SnmpWalk -IP $_ -Community public -OID .1.3.6.1.2.1.2.2.1.2  | Format- 
    Table Data -AutoSize -HideTableHeaders | Out-File C:\NameP.ps1xml 

    Get-Content C:\NameP.ps1xml  | Where { $_ -ne ""  } | Set-Content 
    C:\NameP1.ps1xml 
    $Ports = @(Get-Content C:\NameP1.ps1xml | Where-Object { $_.StartsWith("Unit") } 
    )
    $NumberOfports = @(Get-Content C:\NameP1.ps1xml | Where-Object { 
    $_.StartsWith("Unit") } ).Count

    Write-Output ----------------------------------------
    Write-Output "Name ports: "$Ports  
    Write-Output ----------------------------------------
    Write-Output "Number of ports:  $NumberOfports"

} # End of ForEach
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52326602

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档