Administrerende nettverkskort som bruker PowerShell


Innledning

Når nettverket går ned, sliper alt stoppet opp. Du kan ikke gjøre jobben din, og din bedrift kan ikke tjene penger. Alltid-på-tilkobling er et must i dagens dypt sammenvevd verden. Dette gjør det å kunne konfigurere, administrere og feilsøke nettverksadaptere, både kablet og trådløst, et must for systemansvarlig. Det finnes mange forskjellige typer oppgaver som faller inn under den generelle overskriften nettverkskort administrasjonsoppgaver: å konfigurere grensesnitt, IP-adresser, standard gatewayer, ruter, og beregninger; konfigurering ISATAP og Teredo for IPv4 /IPv6 interoperabilitet; og så videre. Så er det høyere nivå oppgave som er nødvendig på nivået av nettverkstjenester som for eksempel å konfigurere DHCP scope, alternativer og reservasjoner; å lage forskjellige typer av DNS-soner; konfigurering av DNS root hint og bærere; skape ressurs poster; og så videre.

I bedriftsmiljøer, er det viktig å være i stand til å automatisere felles system og nettverksadministrasjonsoppgaver som de nevnt ovenfor. Det er derfor Windows Powershell er så viktig for de som administrere Windows Server-baserte nettverk. Med Powershell evner innebygd i Windows Server 2012 og Windows Server 2012 R2, kan du utføre de fleste nettverksadministrasjonsoppgaver fra Powershell kommandolinjen eller ved å kjøre Powershell script. Den beste måten å lære å bruke Windows Powershell for å administrere nettverksinnstillingene og tjenester på Windows Server 2012 og Windows Server 2012 R2 er å eksperimentere med å utføre forskjellige oppgaver i et testmiljø. Delene som følger gi noen eksempler på hva du kan gjøre i dette området. Forklaringen og prosedyrer inkludert nedenfor er tilpasset fra boken min Training Guide: Installere og konfigurere Windows Server 2012 R2
(Microsoft Press, 2014). Også inkludert nær slutten av denne artikkelen er noen flere tips om dette temaet som jeg har sanket fra større IT pro samfunnet, inkludert de nesten 100.000 tilhengere av våre WServerNews ukentlig nyhetsbrev som du kan abonnere på http: //www.wservernews .com /subscribe.htm.

Viser nettverkskort med 100 Mbps koblingshastighet

Du kan bruke Get-NetAdapter cmdlet for å vise alle nettverkskort på serveren som har en link hastighet på 100 megabit per sekund (Mbps) som dette:
PS C: \\ > Get-NetAdapter | Hvor-Object -FilterScript {$ _. LinkSpeed ​​-eq "100 Mbps"} Name InterfaceDescription ifIndex Status macaddress LinkSpeed ​​---- -------------------- --- ---- ------ ---------- --------- Ethernet 2 Broadcom NetXtreme Gig ... 13 Up A4-BA-DB-0A-96-0C 100 MbpsEthernet Broadcom NetXtreme Gig ... 12 Opp A4-BA-DB-0A-96-0B 100 Mbps

Resultatet av denne kommandoen består av gjenstander som kan sendes gjennom rørledningen til andre cmdlets. For eksempel kan du rør utgangs inn i Set-NetIPInterface cmdlet for å tildele en metrisk verdi på 5 til alle grensesnitt som har et koblingshastighet på 100 Mbps som følger:
PS C: \\ > Get-NetAdapter | Hvor-Object -FilterScript {$ _ LinkSpeed ​​-eq "100 Mbps".} | `Set-NetIPInterface -InterfaceMetric 5
Deaktivering et bindende for et nettverkskort

Du kan aktivere og deaktivere bindinger på et nettverkskort med Windows Powershell. Start for eksempel ved hjelp av Get-NetAdapterBinding cmdlet for å vise bindingene for det angitte grensesnittet:
PS C: \\ > Get-NetAdapterBinding -InterfaceAlias ​​"Ethernet 2" Name Display ComponentID Enabled ---- ----------- ----------- ------- Ethernet 2 Hyper- V Extensible Virtual Switch vms_pp FalseEthernet 2 Link-Layer Topology Disco Responder ms_rspndr TrueEthernet 2 Link-Layer Topology Discovery Mapper I /O Driver ms_lltdio TrueEthernet to Microsoft Network Adapter multiplexor Protocol ms_implat FalseEthernet 2 Klient for Microsoft-nettverk ms_msclient TrueEthernet 2 Windows Network Virtualization Filter driver ms_netwnv FalseEthernet to QoS Packet Scheduler ms_pacer TrueEthernet to Deling av filer og skrivere i Microsoft-nettverk ms_server TrueEthernet to Internet Protocol versjon 6 (TCP /IPv6) ms_tcpip6 TrueEthernet to Internet Protocol versjon 4 (TCP /IPv4) ms_tcpip Sann

 For å deaktivere en bestemt bindende slik som QoS Packet Scheduler, kan du bruke DisableNetAdapterBinding cmdlet, som dette: PS C: \\ > Deaktiver-NetAdapterBinding -Name "Ethernet 2" -ComponentID ms_pacer 

Du kan bruke Enable-NetAdapterBinding cmdlet for å aktivere bindingen.

Deaktivering et nettverkskort

Du kan deaktivere en bestemt nettverk adapter eller alle nettverkskort som bruker Windows Powershell. For eksempel følgende kommando deaktiverer adapteren heter Ethernet 2 med ingen bekreftelsesmelding vises:
PS C: \\ > Deaktiver-NetAdapter -Name "Ethernet 2" -Confirm: $ false

Hvis du vil deaktivere alle nettverkskort på serveren, kan du bruke denne kommandoen:
PS C: \\ > Deaktiver-NetAdapter -Name *

Merk at all ekstern tilkobling med serveren vil gå tapt hvis du gjør dette.

Hvis du vil aktivere nettverkskort som er deaktivert, kan du bruke Enable-NetAdapter cmdlet.

Opprette en DHCP-server omfang

Du kan administrere Windows Server 2012 eller Windows Server 2012 R2 DHCP-servere ved hjelp av Windows Powershell. Felles DHCP server-administrasjonsoppgaver inkluderer å skape scope, lage eksklusjons områder, skaper reservasjoner, konfigurere alternativer omfang og server, og så videre

For eksempel, la ’ s. Begynne ved å vise alle scopes øyeblikket er konfigurert på DHCP server:
PS C: \\ > Get-DhcpServerv4Scope ScopeId SubnetMask Navn State StartRange EndRange LeaseDuration ------- ---------- ---- ----- ---------- ---- ---- ------------- 172.16.11.0 255.255.255.0 test Active 172.16.11.35 172.16.11.39 8.00: 00: 00

Merk at det i dag bare én aktiv omfang på DHCP server. Nå kan du legge en ny mulighet for IP-adresseområdet 172.16.12.50 gjennom 172.16.11.100. La omfanget inaktiv til du er ferdig med å konfigurere unntak og reservasjoner for det:
PS C: \\ > Add-DhcpServerv4Scope -EndRange 172.16.12.100 -Name test2 `-StartRange 172.16.12.50 -SubnetMask 255.255.255.0-State Inaktiv

Legg merke til at i denne cmdlet den rekkefølgen du angir parametrene doesn ’ t rolle fordi du har angitt slutten av adresseområdet før spesifisere sin begynnelse

Running Get-DdhpServerv4Scope igjen indikerer at å legge det nye omfanget var vellykket:
PS C:. \\ > Get-DhcpServerv4Scope ScopeId SubnetMask Navn State StartRange EndRange LeaseDuration ------- ---------- ---- ----- ---------- ---- ---- ------------- 172.16.11.0 255.255.255.0 test Active 172.16.11.35 172.16.11.39 8.00: 00: 00172.16.12.0 255.255.255.0 test2 Inaktiv 172.16.12.50 172.16.12.100 8,00 : 00: 00

 Nå utelukker utvalget 172.16.12.70 gjennom 172.16.12.75 fra det nye omfanget: PS C: \\ > Add-DhcpServerv4ExclusionRange -EndRange 172.16.12.75 -ScopeId 172.16.12.0 `-StartRange 172.16.12.70 
 La ’ s også legge en reservasjon for en filserver: PS C: \\ > Add-DhcpServerv4Reservation -ClientId EE-05-B0-DA-04-00 -IPAddress 172.16.12.88 `-ScopeId 172.16.12.0 -beskrivelse" Tal for filserver "

Her EE-05-B0-DA-04- 00 representerer den MAC-adressen til filserveren ’ s nettverkskort

La ’ s også konfigurere en standard gateway-adresse for den nye rammen ved å opprette et områdealternativet som følger:.
PS C: \\ > Set-DhcpServerv4OptionValue -Router 172.16.12.1 -ScopeId 172.16.12.0

Hvis du ønsker å opprette en server alternativ i stedet for et omfang alternativ, kan du gjøre dette ved å utelate –. ScopeID parameter fra foregående kommandoen
< p> Nå kan du ’ re ferdig med å opprette og konfigurere den nye rammen, så la ’ s mål ved å aktivere det:
PS C: \\ > Set-DhcpServerv4Scope-State Aktive
Opprette DNS ressurs poster

Du kan administrere Windows Server 2012 eller Windows Server 2012 R2 DNS servere ved hjelp av Windows Powershell. Felles DNS server-administrasjonsoppgaver blant annet legge ressursoppføringer til soner, konfigurere videresending, konfigurere rot hint, og så videre

For eksempel, la ’ s. Vise en liste over soner på en DNS-server som også er et domene kontrolleren for corp.contoso.com domene:
PS C: \\ > Get-DnsServerZone Zonename ZoneType IsAutoCreated IsDsIntegrated IsRever ... IsSigned -------- -------- ------------- --------- ----- ------- --------_msdcs.corp.contoso.com Primær False Sann False True0.in-addr.arpa Primær Sann False Sann False127.in-addr.arpa Primary true false true False255.in-addr.arpa Primære true false true Falsecorp.contoso.com Primære Falske true false FalseTrustAnchors Primær False Sann false false

Hvis du vil vise en liste over ressurs poster av type A (adresse) i corp.contoso .com sone, kan du rør utgangen av Get-DnsServerResourceRecord cmdlet inn i Hvor-Object cmdlet, som dette:
PS C: \\ > Get-DnsServerResourceRecord -ZoneName corp.contoso.com | Hvor-Object {$ _. Registreringstype -eq "A"} Hostname registreringstype Stempel TimeToLive RecordData -------- ---------- --------- ---- ------ ---------- @ A 7/8/2012 12:00:00 00:10:00 172.16.11.36 @ A 7/8/2012 13:00:00 00:10:00 172.16.11.232DomainDnsZones En 7/8/2012 12:00:00 PM 00:10:00 172.16.11.36DomainDnsZones En 7/8/2012 12:00:00 00:10:00 172.16.11.232 ForestDnsZones En 7/8/2012 12:00:00 00:10:00 172.16.11.36ForestDnsZones En 7/8/2012 12:00:00 00:10:00 172.16.11.232sea-srv-1 A 0 01 : 00: 00 172.16.11.232SEA-SRV-5 A 0 1:00:00 172.16.11.36

For å legge til en ny En ressurs rekord for en test-server, kan du bruke Add-DnsServerResourceRecordA cmdlet, som dette:
PS C: \\ > Add-DnsServerResourceRecordA -IPv4Address 172.16.11.239 -Name SEA-TEST `-ZoneName corp.contoso.com

Du kan også legge til andre typer ressursoppføringer – som PTR, CN, eller MX records – hjelp av foregående cmdlet. Og du kan bruke den Remove-DnsServerResourceRecord cmdlet for å fjerne ressurs poster fra en sone.

noen flere tips

Til slutt, her er noen flere tips om dette temaet som jeg har sanket fra min kolleger i IT og fra lesere av vårt nyhetsbrev WServerNews.com.

Viser fysiske nettverkskort

Hvis du bare vil vise en liste over fysisk nettverkskort på systemet, kan du bruke denne kommandoen :
Get-NetAdapter – Fysisk

Vise skjulte nettverkskort

Hvis du vil også vise eventuelle skjulte nettverkskort, gjøre det slik:
Get-NetAdapter – IncludeHidden

Viser virtuelle nettverkskort

Hvis du vil vise bare de virtuelle nettverkskort kan du gjøre det på denne måten:
Get-NetAdapter | Der {$ _ Virtual –. Eq $ true}

Viser DNS klient konfigurasjon

Hvis du trenger å vite om DNS-klienten på en maskin er konfigurert som statisk eller dynamisk, du kan bruke denne kommandoen for å finne ut:
Get-NetIPAddress | der {$ _. PrefixOrigin -eq "DHCP" -eller $ _. SuffixOrigin -eq "DHCP"}

Kommandoen ovenfor fungerer i Powershell v3 eller høyere som er tilgjengelig på Windows Server 2012 og Windows 8 og høyere . Hvis du fortsatt bruker Powershell v2 på Windows Server 2008 R2 og Windows 7 så kan du gjøre det på denne måten:
Get-WmiObject win32_networkadapterconfiguration | der {$ _. IPEnabled -og $ _. DHCPEnabled}

Ikke sikker på hvilken versjon av Powershell du bruker på et system? Skriv denne kommandoen på Powershell teksten for å finne ut:
$ PSVersionTable.PSVersion

Viser IP-konfigurasjon

Noen ganger er dette lett, andre ganger ikke. For eksempel, hvis du ønsker å vise bare InterfaceIndex, InterfaceAlias ​​og IPv4Address egenskaper for hvert kort, kan du gjøre det slik:
Get-NetIpConfiguration | Velg-Object interfaceindex, interfacealias, Ipv4address

Men hvis du også ønsker å vise IPv4DefaultGateway eiendom i en forståelig måte, må du gjøre det slik:
Get-NetIpConfiguration | Velg-Object interfaceindex, interfacealias, Ipv4address, @ {Label = "Default"; Expression = {$ _ IPv4DefaultGateway.NextHop.}}

Det samme gjelder hvis du ønsker å inkludere DNSServer eiendommen i kommandoutdataene:
Get-NetIpConfiguration | Velg-Object interfaceindex, interfacealias, Ipv4address, @ {Label = "Default"; Expression = {. $ _ IPv4DefaultGateway.NextHop}} @ {label = "DnsServers"; Expression = {$ _ DnsServer.ServerAddresses.}}

Hvis du heller vil vise din produksjon i tabellform, kan du gjøre det slik:
Get-NetIpConfiguration | format-tabellen interfaceindex, interfacealias, Ipv4address, @ {Label = "Default"; Expression = {. $ _ IPv4DefaultGateway.NextHop}} @ {label = "DnsServers"; Expression = {$ _. DnsServer.ServerAddresses}}

Merk imidlertid at bruk av format-bord som dette fører til de returnerte objektdata å gå tapt, noe som betyr at du ikke vil være i stand til å gjøre noen ytterligere sortering eller filtrering på din kommando utgang. Så hvis du for eksempel ønsker å eksportere utgang til en CSV-fil slik at du kan åpne den i Excel, bør du gjøre det på denne måten:
Get-NetIpConfiguration | format-tabellen interfaceindex, interfacealias, Ipv4address, @ {Label = "Default"; Expression = {. $ _ IPv4DefaultGateway.NextHop}} @ {label = "DnsServers"; Expression = {$ _ DnsServer.ServerAddresses.}} | Export-CSV. \\ Output.csv Anmeldelser