Innledning
I min forrige artikkel administrerende nettverkskort som bruker Powershell her i avsnittet mitt artikler på WindowsNetworking.com vi undersøkt noen av Windows Powershell er innebygd i Windows Server 2012 og Windows Server 2012 R2 som lar deg utføre nettverksadministrasjonsoppgaver fra Powershell kommandolinjen eller ved å kjøre Powershell script. Powershell kan ikke bare brukes til å administrere nettverkskonfigurasjoner, men også for å feilsøke nettverksproblemer når de oppstår i miljøet. Denne artikkel gir 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 Get-NetAdapter cmdlet ble først introdusert i Windows Server 2012 for å gjøre deg i stand til å hente konfigurasjonen av alle fysiske nettverkskort i serveren. Hvis du opplever det som kan være et nettverk problem med en av serverne, er det første du sannsynligvis ønske å kontrollere konfigurasjonen av nettverksadaptere. For eksempel, se hva som skjer når du kjører denne kommandoen på en Hyper-V vert heter SERVER1.contoso.com som kjører Windows Server 2012 R2: Siden dette er en Hyper-V host, er det sannsynligvis noen virtuelle maskiner som kjører på det. På Hyper-V vertene kjører Windows Server 2012 og senere, kan du bruke Get-VMNetworkAdapter cmdlet for å innhente informasjon konfigurasjon for nettverkskortene for disse virtuelle maskiner. For eksempel henter følgende kommando informasjon om alle virtuelle maskin nettverkskort på verts: Du kan også bruke Get-VMNetworkAdapter med -VMName parameter for å vise nettverkskort for en bestemt virtuell maskin på verten. Get-NetIPAddress cmdlet ble først introdusert i Windows Server 2012 for å gjøre deg i stand til å hente IP-adressene som er konfigurert på systemets nettverkskort. Du kan bruke Get-NetIPAddress cmdlet både på fysiske servere og innen virtuelle maskiner. For eksempel kan du kjøre denne kommandoen på SERVER1 beskrevet ovenfor: Du kan se at Get-NetIPAddress returnerer mye nyttig informasjon som du kan analysere eller rør inn andre kommandoer for videre behandling . Get-NetIPConfiguration cmdlet ble først introdusert i Windows Server 2012 for å gjøre deg i stand til å hente dyktige nettverksgrensesnitt, IP-adresser og DNS-tjenere som er satt på et system. Nøkkelen verdien av Get-NetIPConfiguration er at det gir deg det store bildet av nettverkskonfigurasjon systemets i en kortfattet måte. For eksempel, se hva som skjer når du kjører denne kommandoen på SERVER1 uten å spesifisere ytterligere alternativer: For å gjøre ting enda enklere, kan du bruke alias GIP stedet for å skrive Get-NetIPConfiguration på kommandolinjen. For eksempel si at du bare vil hente konfigurasjonen DNS-server til nettverksadapteren som alias begynner med vEthernet som vist ovenfor. Her er hvordan du kan gjøre dette: Test-NetConnection cmdlet har blitt introdusert i Windows Server 2012 R2 for å gjøre deg i stand til å utføre ICMP og TCP tilkoblings tester . For å se hvordan dette cmdlet kan brukes, utføre noen tester fra en Windows Powershell ledeteksten på samme server som heter SERVER1.contoso.com beskrevet tidligere. Først test nettverkstilkobling mellom SERVER1 og en annen server som heter SERVER2 på nettverk: Du kan også bruke Test-NetConnection cmdlet for å teste nettverkstilkobling med vertene på eksterne nettverk og over Internett. For eksempel, se om SERVER1 kan etablere nettverkstilkobling med nettstedet Microsoft Xbox: Du kan også bruke -TraceRoute muligheten til å spore den nøyaktige nettverket rute brukes til å etablere tilkobling med eksterne området: Du kan også bruke Test-NetConnection å teste tilkobling på en bestemt TCP-port ved å inkludere -Port alternativet i din kommando. For eksempel kan du bekrefte at nettstedet Xbox kan nås på standard HTTP-port, som er TCP port 80: Du kan også bruke et alias som RDP å kontrollere TCP tilkobling med den velkjente port for Remote Desktop Protocol (RDP), som er TCP-port 3389. For eksempel kan du se om SERVER1 kan etablere tilkobling til TCP-port 3389 på SERVER2: Suksessen testen ovenfor indikerer at Remote Desktop er aktivert på serveren SERVER2. Test-NetConnection lar deg også bruke andre aliaser foruten RDP for testing tilkobling med kjente TCP-portene. For eksempel kan du også bruke følgende: Nå kan du se hva som skjer når du prøver RDP test mot serveren HOST40 på nettverket: Merk at RDP-tilkobling lyktes men pinge serveren mislyktes. Dette indikerer at serverens brannmur er aktiv og blokkere innkommende ICMP-meldinger som blir sendt av SERVER1. Test-NetConnection cmdlet støtter også en -InformationLevel alternativ som gjør det mulig å innhente nærmere opplysninger om tilkoblingstesten utføres: En siste merknad om test-NetConnection er at du også kan kjøre den uten parametere, som dette: Å gjøre dette bare tester om serveren har en nettverkstilkobling med Internett ved testing tilkobling med en ekstern server som tilhører DNS-domene msedge.net, som er registrert av Microsoft. Til slutt, her er noen flere tips om dette temaet som jeg har hentet fra mine kolleger i IT og fra lesere av vårt nyhetsbrev WServerNews.com. DotNetPing Ben Schultz har lagt ut en nyttig skript som heter DotNetPing til skriptsenteret Repository på TechNet. Skriptet tar IP-adressen eller vertsnavn eller en vert og ping det å gi deg kilden IP-adressen til stakken brukes til å pinge verten. Manuset er også et godt eksempel på hvordan du kan bruke System.NET å forbedre dine Powershell script. Get-NetIPConfiguration vs IPConfig Get-NetIPConfiguration cmdlet er ikke en eksakt erstatning for IPConfig kommandolinjeverktøy. For eksempel IPConfig omfatter også brytere som /flushdns /registerdns og /displaydns å administrere DNS-innstillingene og kunden resolver cache. Du kan ikke bruke Get-NetIPConfiguration å gjøre det, men det er andre Powershell cmdlets du kan bruke som Clear-DNSClientCache, Register DNSClient og Resolve-DNSName. Du kan også bruke IPConfig med /release og /fornye brytere for å frigjøre og fornye DHCP-konfigurasjon av nettverkskort på systemet ditt. Nok en gang, kan du ikke bruke Get-NetIPConfiguration å gjøre dette, men du kan prøve å bruke Restart-NetAdapter for dette formålet. Test port tilkobling Hvis du ønsker å sjekke om et system er "lytte" dvs. om det har en viss TCP port åpen for å etablere nettverkstilkobling med deg, kan du prøve å utnytte Test-PortConnection funksjon ved "Techibee" som er beskrevet her. IPConfig reimagined Du bør også sjekke ut artikkelen "IPConfig reimagined: Bygge en enkel Powershell Tool" i Issue # 102 av Mark Minasi nyhetsbrev. Mark har noen gode tips om hvordan du kan vise IP-adressen info på en måte som er lett å lese og tolke.
(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.
Get-NetAdapter og Get-VMNetworkAdapter
PS C: \\ > Get-NetAdapter Navn InterfaceDescription ifIndex statu s ---- -------------------- ------- ----- vEthernet (Broadcom Ne .. . Hyper-V virtuelle Ethernet Adapter # 2 18 UpEthernet Broadcom NetXtreme Gigabit Ethernet 12 Di ... Ethernet 2 Broadcom NetXtreme Gigabit Ethernet # 2 13 Up
PS C: \\ > Get-VMNetworkAdapter * Navn IsManagementOs VMName SwitchName ---- -------------- ------ ------ ---- Network Adapter False SRV-STANDARD Broadcom NetXtreme Gigabit Ether ... Network Adapter False SRV2012R2 Broadcom NetXtreme Gigabit Ether ... Network Adapter False SRV2012R2Network Adapter False SRV2012 Broadcom NetXtreme Gigabit Ether ... Network Adapter False SRV2012 Broadcom NetXtreme Gigabit Ether ... Network Adapter False Gen2Test Broadcom NetXtreme Gigabit Ether ...
Get- NetIPAddress
PS C: \\ > Get-NetIPAddress IPAddress: fe80 :: 8843: 1e98: a8a6: 6fab% 12InterfaceIndex: 12InterfaceAlias: EthernetAddressFamily: IPv6Type: UnicastPrefixLength: 64PrefixOrigin: WellKnownSuffixOrigin: LinkAddressState: DeprecatedValidLifetime: Infinite ([Timespan] :: MAXVALUE) PreferredLifetime: Infinite ([Timespan] :: MAXVALUE) SkipAsSource: FalsePolicyStore: ActiveStore IPAddress: fe80 :: 1905: 8ae1: 5bfd: 7b8e% 18InterfaceIndex: 18InterfaceAlias: vEthernet (Broadcom NetXtreme Gigabit Ethernet # 2 - Virtual Switch) AddressFamily: IPv6Type: UnicastPrefixLength: 64PrefixOrigin: WellKnownSuffixOrigin: LinkAddressState: PreferredValidLifetime: Infinite ([Timespan] :: MAXVALUE) PreferredLifetime: Infinite ([Timespan] :: MAXVALUE) SkipAsSource: FalsePolicyStore: ActiveStore IPAddress: fe80 :: 5efe: 172.16.11.30% 14InterfaceIndex: 14InterfaceAlias. ISATAP {3D53D3DC-9209-4C7F -8AAE-AD8ADCBD93FC} AddressFamily: IPv6Type: UnicastPrefixLength: 128PrefixOrigin: WellKnownSuffixOrigin: LinkAddressState: DeprecatedValidLifetime: Infinite ([Timespan] :: MAXVALUE) PreferredLifetime: Infinite ([Timespan] :: MAXVALUE) SkipAsSource: FalsePolicyStore: ActiveStore IPAddress: :: 1InterfaceIndex: 1InterfaceAlias: Loopback Pseudo-Interface 1AddressFamily: IPv6Type: UnicastPrefixLength: 128PrefixOrigin: WellKnownSuffixOrigin: WellKnownAddressState: PreferredValidLifetime: Infinite ([tidsperiode] :: MAXVALUE) PreferredLifetime: Infinite ([tidsperiode] :: MAXVALUE) SkipAsSource: FalsePolicyStore: ActiveStore IPAddress: 169.254.111.171 InterfaceIndex: 12InterfaceAlias: EthernetAddressFamily: IPv4Type: UnicastPrefixLength: 16PrefixOrigin: WellKnownSuffixOrigin: LinkAddressState: TentativeValidLifetime: Infinite ([tidsperiode] :: MAXVALUE) PreferredLifetime: Infinite ([Timespan] :: MAXVALUE) SkipAsSource: FalsePolicyStore: ActiveStore ip-adresse: 172.16.11.30InterfaceIndex: 18InterfaceAlias: vEthernet (Broadcom NetXtreme Gigabit Ethernet # 2 - Virtual Switch) AddressFamily: IPv4Type: UnicastPrefixLength: 24PrefixOrigin: ManualSuffixOrigin: ManualAddressState: PreferredValidLifetime: Infinite ([Timespan] :: MAXVALUE) PreferredLifetime: Infinite ([Timespan] :: MAXVALUE) SkipAsSource: FalsePolicyStore: ActiveStore IPAddress: 127.0.0.1InterfaceIndex: 1InterfaceAlias: Loopback Pseudo-Interface 1AddressFamily: IPv4Type: UnicastPrefixLength: 8PrefixOrigin: WellKnownSuffixOrigin: WellKnownAddressState: PreferredValidLifetime: Infinite ([Timespan] :: MAXVALUE) PreferredLifetime: Infinite ([Timespan] :: MAXVALUE) SkipAsSource: FalsePolicyStore: ActiveStore
Get-NetIPConfiguration
PS C: \\ > Get-NetIPConfiguration InterfaceAlias: vEthernet (Broadcom NetXtreme Gigabit Ethernet # 2 - Virtual Switch) InterfaceIndex: 18InterfaceDescription: Hyper-V virtuelle Ethernet Adapter # 2NetProfile.Name: contoso.comIPv4Address: 172.16.11.30IPv6DefaultGateway: IPv4DefaultGateway: 172.16.11.1DNSServer: 172,16. 11.50 InterfaceAlias: EthernetInterfaceIndex: 12InterfaceDescription: Broadcom NetXtreme Gigabit EthernetNetAdapter.Status: Disconnected
PS C: \\ > $ a = GIP 'v *' PS C: \\ > $ a.DNSServer InterfaceAlias Interface Adresse ServerAddresses PSComputerName Index Familie -------------- --------- ------- --------- ------ -------------- vEthernet (Broadcom NetXt ... 18 IPv6 {} vEthernet (Broadcom NetXt ... 18 IPv4 {172.16.11.50} Get- NetIPConfiguration kan også gi detaljert utgang hvis du spesifisere -Detaljert alternativ som vist her: PS C: \\ > GIP -Detaljert Computer: SERVER1InterfaceAlias: vEthernet (Broadcom NetXtreme Gigabit Ethernet # 2 - Virtual Switch) InterfaceIndex: 18InterfaceDescription: Hyper-V virtuelle Ethernet Adapter # 2NetAdapter.LinkLayerAddress: 00-24-E8-50-17-F3NetAdapter.Status: UpNetProfile.Name: contoso.comNetProfile.NetworkCategory: DomainAuthenticatedNetProfile.IPv6Connectivity: LocalNetworkNetProfile.IPv4Connectivity: InternetIPv6LinkLocalAddress: fe80 :: 1905: 8ae1: 5bfd: 7b8e% 18IPv4Address: 172.16.11.30IPv6DefaultGateway: IPv4DefaultGateway: 172.16.11.1NetIPv6Interface.NlMTU: 1500NetIPv4Interface.NlMTU: 1500NetIPv6Interface.DHCP: EnabledNetIPv4Interface.DHCP: DisabledDNSServer: 172.16.11.50 Computer: SERVER1InterfaceAlias: EthernetInterfaceIndex: 12InterfaceDescription: Broadcom NetXtreme Gigabit EthernetNetAdapter.LinkLayerAddress: 00-24-E8-50-17-F4NetAdapter.Status: Disconnected
Test-NetConnection
PS C: \\ > Test-NetConnection SERVER2.contoso.com Computer: SERVER2.contoso.comRemoteAddress: 172.16.11.50InterfaceAlias: vEthernet (Broadcom NetXtreme Gigabit Ethernet # 2 - Virtual Switch) SourceAddress: 172.16.11.30PingSucceeded: TruePingReplyDetails (RTT): 0 ms
PS C: \\ > Test-NetConnection www.xbox.com Computer: www.xbox.comRemoteAddress: 184.29.219.150InterfaceAlias: vEthernet (Broadcom NetXtreme Gigabit Ethernet # 2 - Virtual Switch) SourceAddress: 172.16.11.30PingSucceeded: TruePingReplyDetails (RGT): 26 ms
PS C: \\ > Test-NetConnection www.xbox.com -TraceRoute Computer: www.xbox.comRemoteAddress: 184.29.219.150InterfaceAlias: vEthernet (Broadcom NetXtreme Gigabit Ethernet # 2 - Virtual Switch) SourceAddress: 172.16.11.30PingSucceeded: TruePingReplyDetails (RGT): 29 msTraceRoute: 172.16.11.1 142.161.5.200 142.161.5.65 4.28.68.21 4.69.158.146 4.69.138.166 4.68.111.70 184.29.219.150
PS C: \\ > Test-NetConnection www.xbox.com -Port 80 Computer: www.xbox.comRemoteAddress: 184.29.219.150RemotePort: 80InterfaceAlias: vEthernet (Broadcom NetXtreme Gigabit Ethernet # 2 - Virtual Switch) SourceAddress: 172.16.11.30PingSucceeded: TruePingReplyDetails (RGT): 28 msTcpTestSucceeded: Sann
PS C: \\ > Test-NetConnection SERVER2 RDP Computer: SERVER2RemoteAddress: 172.16.11.50RemotePort: 3389InterfaceAlias: vEthernet (Broadcom NetXtreme Gigabit Ethernet # 2 - Virtual Switch) SourceAddress: 172.16.11.30PingSucceeded: TruePingReplyDetails (RGT): 0 msTcpTestSucceeded: Sanne
SMB
HTTP
PING
PS C: \\ > Test-NetConnection HOST40 RDPWARNING: Ping til HOST40 mislyktes - Status: TimedOut Computer: HOST40RemoteAddress: 172.16.11.61RemotePort: 3389InterfaceAlias: vEthernet (Broadcom NetXtreme Gigabit Ethernet # 2 - Virtual Switch) SourceAddress: 172.16.11.30PingSucceeded: FalsePingReplyDetails (RGT): 0 msTcpTestSucceeded: Sann
PS C: \\ > Test-NetConnection SERVER2 RDP -InformationLevel Detaljert Computer: SERVER2RemoteAddress: 172.16.11.50RemotePort: 3389AllNameResolutionResults: 172.16.11.50 fe80 :: 396f: 7162: ab64: fa82MatchingIPsecRules: NetworkIsolationContext: Privat NetworkInterfaceAlias: vEthernet (Broadcom NetXtreme Gigabit Ethernet # 2 - Virtual Switch) SourceAddress: 172.16.11.30NetRoute (NextHop): 0.0.0.0PingSucceeded: TruePingReplyDetails (RGT): 0 msTcpTestSucceeded: Sann Du kan også bruke -InformationLevel å undertrykke all produksjon bortsett om ønsket testen var vellykket: PS C: \\ > Test-NetConnection HOST40 RDP -InformationLevel QuietWARNING: Ping til HOST40 mislyktes - Status: TimedOutTruePS C: \\ >
PS C: \\ > Test-NetConnection Computer: internetbeacon.msedge.netRemoteAddress: 131.253.3.197InterfaceAlias: vEthernet (Broadcom NetXtreme Gigabit Ethernet # 2 - Virtual Switch) SourceAddress: 172.16.11.30PingSucceeded: TruePingReplyDetails (RTT): 49 ms
noen flere tips