Tôi có thể lấy tên instance mạng thẻ truy cập như vậy:Powershell: Counter Instance Name cho Card mạng cụ thể
Get-WmiObject Win32_PerfRawData_Tcpip_NetworkInterface
Những kết quả đầu ra một cái gì đó như thế này cho Tên:
Intel[R] Ethernet Controller X540-AT2
Intel[R] Ethernet Controller X540-AT2 _2
Intel[R] Ethernet Controller X540-AT2 _3
Intel[R] Ethernet Controller X540-AT2 _4
Tôi có thể lấy (đã bật) Thẻ mạng như vậy:
Get-WmiObject win32_networkadapter -filter "netconnectionstatus=2"
kết quả đầu ra giống như thế này cho Tên:
Intel(R) Ethernet Controller X540-AT2
Intel(R) Ethernet Controller X540-AT2 #4
Tuy nhiên, không có thuộc tính nào được trả về từ một trong hai cuộc gọi trực tiếp khớp với nhau.
Tên gần nhất là tên của win32_networkadapter, là tương tự với tên truy cập, nhưng đã bị thay đổi để xóa các ký tự không hợp lệ và thay đổi các ký tự khác (* 1), và có một số loại instancing đang diễn ra (* 2).
(* 1) = Chỉ cần thử nghiệm, nó hoán đổi dấu ngoặc tròn ("()") cho dấu ngoặc vuông ("[]") và băm thoát cho dấu gạch dưới.
(* 2) = Trong một máy có adapter Bốn mạng,
Câu hỏi của tôi là: Làm thế nào để trực tiếp bản đồ một cho người kia, mà không dựa vào thay thế văn bản phỏng đoán của tôi?
Chỉnh sửa:
Nếu bạn đang cố gắng kiểm tra điều này trên máy ảo, bạn sẽ cần thêm ít nhất hai thẻ mạng.
Dưới đây là kết quả có liên quan từ một Windows Server 2012 R2 VM chạy trên Hyper-V:
Get-WmiObject Win32_PerfRawData_Tcpip_NetworkInterface | select Name
Name
----
Microsoft Hyper-V Network Adapter
Microsoft Hyper-V Network Adapter _2
Microsoft Hyper-V Network Adapter _3
Get-WmiObject win32_networkadapter -filter "netconnectionstatus=2" | select Name
Name
----
Microsoft Hyper-V Network Adapter #2
Microsoft Hyper-V Network Adapter
Microsoft Hyper-V Network Adapter #3
Chỉnh sửa lần nữa:
Chuỗi thay thế được ngay, và chỉ cần không hoạt động trên máy chủ đang sử dụng nhóm NIC.
Dưới đây là một ví dụ về một máy chủ đang sử dụng teaming NIC:
Get-WmiObject win32_networkadapter -filter "netconnectionstatus=2" | select name
Name
----
Intel(R) 82575EB Gigabit Network Connection
Intel(R) 82575EB Gigabit Network Connection
Intel(R) 82576 Gigabit Dual Port Network Connection
Intel(R) 82576 Gigabit Dual Port Network Connection
TEAM : PublicTeam
TEAM : PrivateTeam
Get-WmiObject Win32_PerfRawData_Tcpip_NetworkInterface | select Name
Name
----
TEAM : PrivateTeam - Intel[R] 82575EB Gigabit Network Connection
TEAM : PublicTeam - Intel[R] 82575EB Gigabit Network Connection _2
TEAM : PrivateTeam - Intel[R] 82576 Gigabit Dual Port Network Connection
TEAM : PublicTeam - Intel[R] 82576 Gigabit Dual Port Network Connection _2
* Chỉnh sửa thứ ba/thứ tư: *
Tuy nhiên máy khác mà thậm chí không sử dụng việc đặt tên hơi đoán trên kế hoạch.
Đây là trên Windows Server 2012 R2:
Get-WmiObject Win32_PerfRawData_Tcpip_NetworkInterface | select Name
Name
----
Intel[R] 82576 Gigabit Dual Port Network Connection
Intel[R] 82576 Gigabit Dual Port Network Connection _2
Intel[R] 82576 Gigabit Dual Port Network Connection _3
Intel[R] 82576 Gigabit Dual Port Network Connection _4
Get-WmiObject win32_networkadapter -filter "netconnectionstatus=2" | select Name
Name
----
Intel(R) 82576 Gigabit Dual Port Network Connection
Intel(R) 82576 Gigabit Dual Port Network Connection
Microsoft Network Adapter Multiplexor Driver
Microsoft Network Adapter Multiplexor Driver #2
Lưu ý rằng trong trường hợp này, đó là Microsoft Network Adapter rằng thực sự có KCN.
Mặc dù trong kịch bản này, các bộ đếm hiệu suất phù hợp trên bộ chuyển đổi Perf quầy thực sự làm việc (giao diện có vẻ đáng tin cậy hơn trong các tình huống khác)
Sửa 5:
dân tiếp tục làm bình luận như "Đó là tương tự như chủ đề khác này: Get Link Speed - Win32_PerfRawData_Tcpip_NetworkInterface "
Như đã được giải thích trong các chỉnh sửa ở trên, tôi đưa ra các ví dụ về loại văn bản này không hoạt động.
Tôi không nghĩ rằng bạn có thể lập bản đồ 'Win32_PerfRawData_Tcpip_NetworkInterface' cho 'win32_networkadapter' vì không có khóa chia sẻ..nhưng bạn có thể liên quan đến 'networkadapterconfiguration' ... nó chỉ phụ thuộc vào thuộc tính nào của nic bạn muốn xem .... còn phiên bản nào của powerhell bạn đang sử dụng? – Kiran
Tôi cần tên truy cập hiệu suất thực tế - cách tôi nhận được ở đó không quan trọng, miễn là tôi có thể ánh xạ nó trở lại '' win32_networkadapter'' (hoặc '' win32_networkadapterconfiguration'') - Tôi đang sử dụng thông tin từ đó , để xác định bộ đếm perf nào liên quan đến mạng nào trên hệ thống (dmz, riêng tư, v.v.) - thì tên cá thể bộ đếm perf đó được chuyển tới một ứng dụng khác. Tôi không thấy bảng cấu hình giúp như thế nào. –
Không chắc chắn bạn đang sử dụng hệ điều hành nào nhưng trên máy tính Windows 10 của tôi và máy ảo thắng 2012 cả hai lớp đều trả về tên phù hợp vì vậy tôi sợ tôi không thể kiểm tra điều này .. – Kiran