इस लेख में हम आपको दिखाएंगे कि पावरशेल के माध्यम से विंडोज़ में नेटवर्क एडेप्टर पैरामीटर कैसे कॉन्फ़िगर करें। हम सीखेंगे कि एक स्थिर आईपी पता और डीएनएस (नेमसर्वर) कैसे प्राप्त करें और सेट करें, एक डीएचसीपी सर्वर से आईपी कॉन्फ़िगरेशन प्राप्त करने के लिए अपने नेटवर्क इंटरफ़ेस को कॉन्फ़िगर करें। आप इन cmdlets का उपयोग Windows सर्वर के कोर/नैनो संस्करणों में नेटवर्क को कॉन्फ़िगर करने के लिए, हाइपर-V सर्वर में, दूरस्थ कंप्यूटर/सर्वर पर और अपनी PS स्क्रिप्ट में IP सेटिंग बदलने के लिए कर सकते हैं।
पहले, netsh interface ipv4
कमांड का उपयोग सीएलआई से विंडोज नेटवर्क सेटिंग्स को कॉन्फ़िगर करने के लिए किया गया था। PowerShell 3.0 और नए में, आप अंतर्निहित PowerShell NetTCPIP . का उपयोग कर सकते हैं विंडोज नेटवर्क सेटिंग्स को प्रबंधित करने के लिए मॉड्यूल।
इस मॉड्यूल में cmdlets की सूची प्राप्त करने के लिए, निम्न कमांड चलाएँ:
get-command -module NetTCPIP
इस मॉड्यूल में टेस्ट-नेटकनेक्शन सीएमडीलेट भी शामिल है जिसका उपयोग आप दूरस्थ कंप्यूटर पर टीसीपी पोर्ट उपलब्धता का परीक्षण करने के लिए कर सकते हैं।
पावरशेल के साथ नेटवर्क एडेप्टर प्रबंधित करना
कंप्यूटर पर उपलब्ध नेटवर्क इंटरफेस की सूची प्रदर्शित करें:
Get-NetAdapter
cmdlet इंटरफ़ेस का नाम, उसकी स्थिति (ऊपर/नीचे), MAC पता और पोर्ट गति देता है।
इस उदाहरण में, मेरे कंप्यूटर पर कई नेटवर्क एडेप्टर हैं (भौतिक कनेक्शन के अलावा, ईथरनेट0 , मेरे पास कुछ हाइपर-वी और वीएमवेयर प्लेयर नेटवर्क इंटरफेस हैं)।
आप नेटवर्क इंटरफेस को उनके नाम या इंडेक्स (इंडेक्स . द्वारा संदर्भित कर सकते हैं) स्तंभ)। हमारे उदाहरण में, भौतिक LAN एडेप्टर Intel 82574L का चयन करने के लिए, कमांड का उपयोग करें:
Get-NetAdapter -Name "Ethernet0"
या:
Get-NetAdapter -InterfaceIndex 8
आप अडैप्टर का नाम बदल सकते हैं:
Rename-NetAdapter -Name Ethernet0 -NewName LAN
नेटवर्क इंटरफ़ेस को अक्षम करने के लिए, इस आदेश का उपयोग करें:
Get-NetAdapter -InterfaceIndex 13| Disable-NetAdapter
जब आप किसी इंटरफ़ेस को सक्षम करते हैं, तो आप इसकी अनुक्रमणिका का उपयोग नहीं कर सकते क्योंकि इसे अभी तक असाइन नहीं किया गया है। आप एक एडेप्टर नाम या विवरण निर्दिष्ट कर सकते हैं:
Enable-NetAdapter -InterfaceDescription “Hyper-V Virtual Ethernet Adapter"
अगर एडॉप्टर के लिए वीएलएएन निर्दिष्ट है, तो आप इसे इस प्रकार प्रदर्शित कर सकते हैं:
Get-NetAdapter | ft Name, Status, Linkspeed, VlanID
यहां बताया गया है कि आप उपयोग किए गए नेटवर्क एडेप्टर ड्राइवर के बारे में जानकारी कैसे प्राप्त कर सकते हैं:
Get-NetAdapter | ft Name, DriverName, DriverVersion, DriverInformation, DriverFileName
भौतिक नेटवर्क एडेप्टर (पीसीआई स्लॉट, बस, आदि) के बारे में जानकारी:
Get-NetAdapterHardwareInfo
पावरशेल के साथ टीसीपी/आईपी नेटवर्क एडेप्टर सेटिंग्स कैसे देखें?
वर्तमान नेटवर्क एडेप्टर सेटिंग्स (आईपी पता, डीएनएस, डिफ़ॉल्ट गेटवे) प्राप्त करने के लिए:
Get-NetIPConfiguration -InterfaceAlias Ethernet0
वर्तमान नेटवर्क एडेप्टर TCP/IP कॉन्फ़िगरेशन के बारे में विस्तृत जानकारी प्रदर्शित करने के लिए, इस कमांड का उपयोग करें:
Get-NetIPConfiguration -InterfaceAlias Ethernet0 -Detailed
इस मामले में, इंटरफ़ेस की निर्दिष्ट नेटवर्क प्रोफ़ाइल (NetProfile.NetworkCategory), MTU सेटिंग्स (NetIPv4Interface.NlMTU), चाहे DHCP से IP पता प्राप्त करना सक्षम हो (NetIPv4Interface.DHCP) और अन्य उपयोगी जानकारी प्रदर्शित होती है।
केवल इंटरफ़ेस IPv4 पता प्राप्त करने के लिए:
(Get-NetAdapter -Name ethernet0 | Get-NetIPAddress).IPv4Address
स्थिर IP पता सेट करने के लिए PowerShell का उपयोग करना
आइए एनआईसी के लिए एक स्थिर आईपी पता सेट करने का प्रयास करें। किसी नेटवर्क इंटरफ़ेस के उपयोग के लिए IP पता, सबनेट मास्क और डिफ़ॉल्ट गेटवे बदलने के लिए:
New-NetIPAddress –IPAddress 192.168.2.50 -DefaultGateway 192.168.2.1 -PrefixLength 24 -InterfaceIndex 8
आप एक सरणी संरचना का उपयोग करके एक आईपी पता सेट कर सकते हैं (अधिक नेत्रहीन):
$ipParams = @{
InterfaceIndex = 8
IPAddress = "192.168.2.50"
PrefixLength = 24
AddressFamily = "IPv4"
}
New-NetIPAddress @ipParams
यदि स्थिर IP पता पहले ही कॉन्फ़िगर किया जा चुका है और आप इसे बदलना चाहते हैं, तो सेट-नेटआईपीएड्रेस cmdlet का उपयोग किया जाता है:
Set-NetIPAddress -InterfaceIndex 8 -IPAddress 192.168.2.90
अपने एडॉप्टर के लिए DHCP से IP पता प्राप्त करने को अक्षम करने के लिए, कमांड चलाएँ:
Set-NetIPInterface -InterfaceAlias Ethernet0 -Dhcp Disabled
रूटिंग टेबल देखने के लिए Get-NetRoute cmdlet का उपयोग किया जाता है। नया मार्ग जोड़ने के लिए, नया-नेटरूट . का उपयोग करें सीएमडीलेट:
New-NetRoute -DestinationPrefix "0.0.0.0/0" -NextHop "192.168.2.2" -InterfaceIndex 8
नेटवर्क एडेप्टर के लिए IPv6 प्रोटोकॉल को अक्षम करने के लिए:
Get-NetAdapterBinding -InterfaceAlias Ethernet0 | Set-NetAdapterBinding -Enabled:$false -ComponentID ms_tcpip6
सेट-DnsClientServerAddress:प्राथमिक और द्वितीयक DNS सर्वर पते सेट करें
Windows में प्राथमिक और द्वितीयक DNS सर्वर IP पते सेट करने के लिए, सेट-DNSClientServerAddress का उपयोग करें सीएमडीलेट। उदाहरण के लिए:
Set-DNSClientServerAddress –InterfaceIndex 8 –ServerAddresses 192.168.2.11,10.1.2.11
आप एक सरणी का उपयोग करके नेमसर्वर भी सेट कर सकते हैं:
$dnsParams = @{
कोड>
InterfaceIndex = 8
ServerAddresses = ("8.8.8.8","8.8.4.4")
}
Set-DnsClientServerAddress @dnsParams
अपनी DNS सेटिंग बदलने के बाद, आप रिज़ॉल्वर कैश को साफ़ कर सकते हैं:
Clear-DnsClientCache
पावरशेल का उपयोग करके स्टेटिक आईपी एड्रेस को डीएचसीपी में कैसे बदलें?
कंप्यूटर को नेटवर्क एडेप्टर के लिए डीएचसीपी सर्वर से डायनेमिक आईपी एड्रेस प्राप्त करने की अनुमति देने के लिए, यह कमांड चलाएँ:
Set-NetIPInterface -InterfaceAlias Ethernet0 -Dhcp Enabled
DNS सर्वर सेटिंग साफ़ करें:
Set-DnsClientServerAddress –InterfaceIndex 8 -ResetServerAddresses
और डीएचसीपी सर्वर से स्वचालित रूप से एक आईपी पता प्राप्त करने के लिए अपने एडेप्टर को पुनरारंभ करें:
Restart-NetAdapter -InterfaceAlias Ethernet0
यदि आपके पास पहले एक डिफ़ॉल्ट गेटवे कॉन्फ़िगर किया गया था, तो उसे हटा दें:
Set-NetIPInterface -InterfaceAlias Ethernet0| Remove-NetRoute -Confirm:$false
PowerShell के साथ IP पता और DNS सेटिंग्स को दूरस्थ रूप से कैसे बदलें?
आप कई दूरस्थ कंप्यूटरों पर IP पता या DNS सर्वर सेटिंग्स को दूरस्थ रूप से बदलने के लिए PowerShell का उपयोग कर सकते हैं। मान लीजिए, आपका कार्य विशिष्ट AD कंटेनर (संगठनात्मक इकाई) में सभी सर्वरों के लिए DNS सेटिंग्स को बदलना है। नीचे दी गई स्क्रिप्ट में कंप्यूटरों की सूची प्राप्त करने के लिए, Get-ADComputer cmdlet का उपयोग किया जाता है, और WinRM का उपयोग दूरस्थ रूप से कंप्यूटर से कनेक्ट करने के लिए किया जाता है (Invoke-Command cmdlet):
$Servers = Get-ADComputer -SearchBase ‘OU=Servers,OU=Berlin,OU=DE,DC=woshub,DC=cpm’ -Filter '(OperatingSystem -like "Windows Server*")' | Sort-Object Name
ForEach ($Server in $Servers) {
Write-Host "Server $($Server.Name)"
Invoke-Command -ComputerName $Server.Name -ScriptBlock {
$NewDnsServerSearchOrder = "192.168.2.11","8.8.8.8"
$Adapters = Get-WmiObject Win32_NetworkAdapterConfiguration | Where-Object {$_.DHCPEnabled -ne 'True' -and $_.DNSServerSearchOrder -ne $null}
Write-Host "Old DNS settings: "
$Adapters | ForEach-Object {$_.DNSServerSearchOrder}
$Adapters | ForEach-Object {$_.SetDNSServerSearchOrder($NewDnsServerSearchOrder)} | Out-Null
$Adapters = Get-WmiObject Win32_NetworkAdapterConfiguration | Where-Object {$_.DHCPEnabled -ne 'True' -and $_.DNSServerSearchOrder -ne $null}
Write-Host "New DNS settings: "
$Adapters | ForEach-Object {$_.DNSServerSearchOrder}
}
}