如何在 powershell 中从 object 中获取没有标题的项目?
How can I get an item from an object without title in powershell?
我正在尝试学习一些 powershell。我只想从连接的网络中获取 SSID。
我的代码是:netsh wlan sh int | select-string SSID | select -First 1
.
输出是 SSID : ABCDEFG
。我的输出必须只是 ABCDEFG
。 SSID
没有标题所以我不知道如何 select 他的价值 ABCDEFG
.
我的第一个问题:如何从 object SSID
中 select 值 ABCDEFG
并仅将值放入我的输出中?
我的第二个问题:我的代码的输出是否总是连接网络?
netsh 是一个传统的命令行工具。与输出结构化对象的 PowerShell cmdlet 相比,它输出文本行。
Select-String
为您提供这些线路之一(上面有“SSID”的线路)。
你可以把它在冒号处分开,然后取后面的部分。
$ssid_line = netsh wlan sh int | select-string SSID | select -First 1
$ssid = $ssid_line -split ':' | select -Last 1
Write-Host $ssid
使用 $ssid.Trim()
删除多余的空格。
您可以使用:
(Get-NetConnectionProfile).Name
这将 return 只是配置文件的名称:
SSIDNAME
如果有多个网络连接,那么您需要指定您想要的网络连接。
您可以通过以下方式获取 Wi-Fi 接口名称:
(Get-NetConnectionProfile | Where-Object InterfaceAlias -eq "Wi-Fi").Name
这也将 return 配置文件的名称(如果找到)为:
SSIDNAME
这些是您可以严格使用 powershell 的 netadapter
和 netconnection
.
实现的几种方法
https://docs.microsoft.com/en-us/powershell/module/netadapter/?view=windowsserver2022-ps
我正在尝试学习一些 powershell。我只想从连接的网络中获取 SSID。
我的代码是:netsh wlan sh int | select-string SSID | select -First 1
.
输出是 SSID : ABCDEFG
。我的输出必须只是 ABCDEFG
。 SSID
没有标题所以我不知道如何 select 他的价值 ABCDEFG
.
我的第一个问题:如何从 object SSID
中 select 值 ABCDEFG
并仅将值放入我的输出中?
我的第二个问题:我的代码的输出是否总是连接网络?
netsh 是一个传统的命令行工具。与输出结构化对象的 PowerShell cmdlet 相比,它输出文本行。
Select-String
为您提供这些线路之一(上面有“SSID”的线路)。
你可以把它在冒号处分开,然后取后面的部分。
$ssid_line = netsh wlan sh int | select-string SSID | select -First 1
$ssid = $ssid_line -split ':' | select -Last 1
Write-Host $ssid
使用 $ssid.Trim()
删除多余的空格。
您可以使用:
(Get-NetConnectionProfile).Name
这将 return 只是配置文件的名称:
SSIDNAME
如果有多个网络连接,那么您需要指定您想要的网络连接。
您可以通过以下方式获取 Wi-Fi 接口名称:
(Get-NetConnectionProfile | Where-Object InterfaceAlias -eq "Wi-Fi").Name
这也将 return 配置文件的名称(如果找到)为:
SSIDNAME
这些是您可以严格使用 powershell 的 netadapter
和 netconnection
.
https://docs.microsoft.com/en-us/powershell/module/netadapter/?view=windowsserver2022-ps