Uitvoeren van taken voor netwerkenPerforming Networking Tasks

Omdat TCP/IP het meest gebruikte netwerkprotocol is, omvatten de meeste beheertaken voor op laag niveau netwerk protocol TCP/IP.Because TCP/IP is the most commonly used network protocol, most low-level network protocol administration tasks involve TCP/IP. In deze sectie gebruiken we de Windows PowerShell en WMI voor deze taken.In this section, we use Windows PowerShell and WMI to do these tasks.

IP-adressen weergeven voor een ComputerListing IP Addresses for a Computer

Als u alle IP-adressen in gebruik is op de lokale computer, gebruikt u de volgende opdracht:To get all IP addresses in use on the local computer, use the following command:

Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Filter IPEnabled=TRUE -ComputerName . | Format-Table -Property IPAddress

De uitvoer van deze opdracht verschilt van de meeste lijsten met zoekeigenschappen omdat waarden tussen accolades worden geplaatst:The output of this command differs from most property lists, because values are enclosed in braces:

IPAddress

{192.168.1.80} {192.168.148.1} {192.168.171.1} {0.0.0.0}{192.168.1.80} {192.168.148.1} {192.168.171.1} {0.0.0.0}

Om te begrijpen waarom de accolades worden weergegeven, gebruikt u de cmdlet Get-lid te onderzoeken de IPAddress eigenschap:To understand why the braces appear, use the Get-Member cmdlet to examine the IPAddress property:

PS> Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Filter IPEnabled=TRUE -ComputerName . | Get-Member -Name IPAddress
TypeName: System.Management.ManagementObject#root\cimv2\Win32_NetworkAdapter
Configuration
Name      MemberType Definition
----      ---------- ----------
IPAddress Property   System.String[] IPAddress {get;}

De eigenschap IP-adres voor elke netwerkadapter is daadwerkelijk een matrix.The IPAddress property for each network adapter is actually an array. De accolades in de definitie is gebleken dat IPAddress is niet een System.String waarde, maar een matrix van System.String waarden.The braces in the definition indicate that IPAddress is not a System.String value, but an array of System.String values.

IP-configuratiegegevens van aanbiedingListing IP Configuration Data

Als u wilt weergeven van gedetailleerde IP-configuratiegegevens voor elke netwerkadapter, moet u de volgende opdracht gebruiken:To display detailed IP configuration data for each network adapter, use the following command:

Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Filter IPEnabled=TRUE -ComputerName .

De standaardweergave voor de configuratie voor de netwerkadapter is een zeer beperkte set van de beschikbare informatie.The default display for the network adapter configuration object is a very reduced set of the available information. Gebruik voor uitgebreide controle en probleemoplossing, Select-Object of een opmaak cmdlet, zoals indeling-lijst om op te geven van de eigenschappen die moeten worden weergegeven.For in-depth inspection and troubleshooting, use Select-Object or a formatting cmdlet, such as Format-List, to specify the properties to be displayed.

Als u niet geïnteresseerd in de eigenschappen van IPX of WINS bent, waarschijnlijk het geval in een moderne TCP/IP-netwerk, kunt u de parameter ExcludeProperty van Select-Object voor het verbergen van eigenschappen met namen die met 'WINS beginnen' of ' IPX: "If you are not interested in IPX or WINS properties—probably the case in a modern TCP/IP network—you can use the ExcludeProperty parameter of Select-Object to hide properties with names that begin with "WINS" or "IPX:"

Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Filter IPEnabled=TRUE -ComputerName . | Select-Object -Property [a-z]* -ExcludeProperty IPX*,WINS*

Deze opdracht retourneert gedetailleerde informatie over DHCP, DNS, Routering en andere secundaire IP-configuratie-eigenschappen.This command returns detailed information about DHCP, DNS, routing, and other minor IP configuration properties.

Pingen naar ComputersPinging Computers

U kunt een eenvoudige ping uit voor een computer met door uitvoeren Win32_PingStatus.You can perform a simple ping against a computer using by Win32_PingStatus. De volgende opdracht de opdracht ping wordt uitgevoerd, maar retourneert uitgebreide uitvoer:The following command performs the ping, but returns lengthy output:

Get-WmiObject -Class Win32_PingStatus -Filter "Address='127.0.0.1'" -ComputerName .

Nuttiger formulier samenvattende informatie weergegeven in een van de eigenschappen van-adres, reactietijd en StatusCode, zoals worden gegenereerd door de volgende opdracht.A more useful form for summary information a display of the Address, ResponseTime, and StatusCode properties, as generated by the following command. De parameter Autosize van Format-Table aangepast kolommen in de tabel zodat ze correct wordt weergegeven in de Windows PowerShell.The Autosize parameter of Format-Table resizes the table columns so that they display properly in Windows PowerShell.

PS> Get-WmiObject -Class Win32_PingStatus -Filter "Address='127.0.0.1'" -ComputerName . | Format-Table -Property Address,ResponseTime,StatusCode -Autosize

Address   ResponseTime StatusCode
-------   ------------ ----------
127.0.0.1            0          0
A status code of 0 indicates a successful ping.

U kunt een matrix gebruiken op meerdere computers met één opdracht ping.You can use an array to ping multiple computers with a single command. Omdat er meer dan één adres, gebruik de ForEach-Object te pingen elk adres afzonderlijk:Because there is more than one address, use the ForEach-Object to ping each address separately:

"127.0.0.1","localhost","research.microsoft.com" | ForEach-Object -Process {Get-WmiObject -Class Win32_PingStatus -Filter ("Address='" + $_ + "'") -ComputerName .} | Select-Object -Property Address,ResponseTime,StatusCode

U kunt dezelfde opdrachtindeling alle computers in een subnet, zoals een particulier netwerk dat gebruikmaakt van netwerknummer 192.168.1.0 en een standaard klasse C-subnetmasker (255.255.255.0) te pingen., worden alleen de adressen in het bereik van 192.168.1.1 via 192.168.1.254 rechtmatige lokale adressen (0 is altijd gereserveerd voor het netwerknummer en 255 is een subnet broadcast-adres).You can use the same command format to ping all of the computers on a subnet, such as a private network that uses network number 192.168.1.0 and a standard Class C subnet mask (255.255.255.0)., Only addresses in the range of 192.168.1.1 through 192.168.1.254 are legitimate local addresses (0 is always reserved for the network number and 255 is a subnet broadcast address).

Ter vertegenwoordiging van een matrix van de getallen tussen 1 en 254 in Windows PowerShell, gebruikt u de instructie 1..254.To represent an array of the numbers from 1 through 254 in Windows PowerShell, use the statement 1..254. Een ping voltooid subnet kan worden uitgevoerd door het genereren van de matrix en vervolgens de waarden op een gedeeltelijke adres toe te voegen in de ping-instructie:A complete subnet ping can be performed by generating the array and then adding the values onto a partial address in the ping statement:

1..254| ForEach-Object -Process {Get-WmiObject -Class Win32_PingStatus -Filter ("Address='192.168.1." + $_ + "'") -ComputerName .} | Select-Object -Property Address,ResponseTime,StatusCode

Houd er rekening mee dat deze techniek voor het genereren van een bereik aan adressen elders ook kan worden gebruikt.Note that this technique for generating a range of addresses can be used elsewhere as well. Op deze manier kunt u een volledige reeks adressen genereren:You can generate a complete set of addresses in this way:

$ips = 1..254 | ForEach-Object -Process {"192.168.1." + $_}

Bij het ophalen van eigenschappen van netwerkadapterRetrieving Network Adapter Properties

Eerder in deze handleiding wordt vermeld dat u algemene configuratie-eigenschappen ophalen met behulp van kan Win32_NetworkAdapterConfiguration.Earlier in this user's guide, we mentioned that you could retrieve general configuration properties by using Win32_NetworkAdapterConfiguration. Hoewel niet strikt TCP/IP-informatie, netwerkadapterinformatie zoals MAC-adressen en typen netwerkadapters kunnen nuttig zijn voor inzicht in wat er gebeurt met een computer.Although not strictly TCP/IP information, network adapter information such as MAC addresses and adapter types can be useful for understanding what is going on with a computer. Als u een overzicht van deze informatie, gebruikt u de volgende opdracht:To get a summary of this information, use the following command:

Get-WmiObject -Class Win32_NetworkAdapter -ComputerName .

Het DNS-domein toe te wijzen voor een netwerkadapterAssigning the DNS Domain for a Network Adapter

Als het DNS-domein voor automatische naamomzetting wilt toewijzen, gebruikt u de Win32_NetworkAdapterConfiguration SetDNSDomain methode.To assign the DNS domain for automatic name resolution, use the Win32_NetworkAdapterConfiguration SetDNSDomain method. Omdat u de DNS-domein voor de configuratie van elke netwerkadapter afzonderlijk toewijst, moet u een ForEach-Object instructie het domein toewijzen aan elke adapter:Because you assign the DNS domain for each network adapter configuration independently, you need to use a ForEach-Object statement to assign the domain to each adapter:

Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Filter IPEnabled=true -ComputerName . | ForEach-Object -Process { $_. SetDNSDomain("fabrikam.com") }

De instructie voor filteren ' IPEnabled = true ' is nodig omdat zelfs op een netwerk dat gebruikmaakt van alleen TCP/IP, verschillende configuraties van de netwerkadapters op een computer niet true TCP/IP-adapters; Deze algemene software-elementen ter ondersteuning van de RAS-, PPTP, QoS en andere services voor alle adapters zijn en dus niet een adres van hun eigen hebben.The filtering statement "IPEnabled=true" is necessary, because even on a network that uses only TCP/IP, several of the network adapter configurations on a computer are not true TCP/IP adapters; they are general software elements supporting RAS, PPTP, QoS, and other services for all adapters and thus do not have an address of their own.

U kunt de opdracht filteren met behulp van de Where-Object cmdlet, in plaats van de Get-WmiObject filter.You can filter the command by using the Where-Object cmdlet, instead of using the Get-WmiObject filter.

Get-WmiObject -Class Win32_NetworkAdapterConfiguration -ComputerName . | Where-Object -FilterScript {$_.IPEnabled} | ForEach-Object -Process {$_.SetDNSDomain("fabrikam.com")}

DHCP-uitvoeren configuratietakenPerforming DHCP Configuration Tasks

Wijzigen van de DHCP-informatie omvat het werken met een set netwerkadapters, net als de DNS-configuratie.Modifying DHCP details involves working with a set of network adapters, just as the DNS configuration does. Er zijn verschillende afzonderlijke acties die u uitvoeren kunt met behulp van WMI en wordt er slechts enkele van de meest gangbare doorlopen.There are several distinct actions you can perform by using WMI, and we will step through a few of the common ones.

DCHP-Adapters bepalenDetermining DHCP-Enabled Adapters

Ga voor de adapters DHCP ingeschakeld op een computer, moet u de volgende opdracht gebruiken:To find the DHCP-enabled adapters on a computer, use the following command:

Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Filter "DHCPEnabled=true" -ComputerName .

Als u wilt uitsluiten van netwerkadapters met IP-configuratieproblemen, kunt u alleen IP ingeschakeld adapters ophalen:To exclude adapters with IP configuration problems, you can retrieve only IP-enabled adapters:

Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Filter "IPEnabled=true and DHCPEnabled=true" -ComputerName .

Bij het ophalen van eigenschappen voor DHCPRetrieving DHCP Properties

Omdat DHCP-gerelateerde eigenschappen voor een adapter wordt doorgaans begint met 'DHCP', kunt u de parameter Property van Format-Table gebruiken om alleen die eigenschappen weer te geven:Because DHCP-related properties for an adapter generally begin with "DHCP," you can use the Property parameter of Format-Table to display only those properties:

Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Filter "DHCPEnabled=true" -ComputerName . | Format-Table -Property DHCP*

DHCP op elke Adapter inschakelenEnabling DHCP on Each Adapter

Activeren van DHCP op alle netwerkadapters moet u de volgende opdracht gebruiken:To enable DHCP on all adapters, use the following command:

Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Filter IPEnabled=true -ComputerName . | ForEach-Object -Process {$_.EnableDHCP()}

U kunt de Filter instructie ' IPEnabled = true en DHCPEnabled = false ' om te voorkomen dat het inschakelen van DHCP waar deze al is ingeschakeld, maar als deze stap wordt weggelaten wordt geen fouten veroorzaken.You can use the Filter statement "IPEnabled=true and DHCPEnabled=false" to avoid enabling DHCP where it is already enabled, but omitting this step will not cause errors.

Vrijgeven en DHCP-Leases op specifieke Adapters vernieuwenReleasing and Renewing DHCP Leases on Specific Adapters

De Win32_NetworkAdapterConfiguration klasse heeft ReleaseDHCPLease en RenewDCHPLease methoden.The Win32_NetworkAdapterConfiguration class has ReleaseDHCPLease and RenewDHCPLease methods. Beide worden op dezelfde manier gebruikt.Both are used in the same way. Deze methoden in het algemeen gebruiken als u alleen wilt vrijgeven of vernieuwen van adressen voor een adapter op een specifiek subnet.In general, use these methods if you only need to release or renew addresses for an adapter on a specific subnet. De eenvoudigste manier om filter-adapters in een subnet is de adapterconfiguraties die gebruikmaken van de gateway voor dat subnet kiezen.The easiest way to filter adapters on a subnet is to choose only the adapter configurations that use the gateway for that subnet. De volgende opdracht worden bijvoorbeeld alle DHCP-leases op adapters op de lokale computer die u DHCP-leases van 192.168.1.254 verkrijgt vrijgegeven:For example, the following command releases all DHCP leases on adapters on the local computer that are obtaining DHCP leases from 192.168.1.254:

Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Filter "IPEnabled=true and DHCPEnabled=true" -ComputerName . | Where-Object -FilterScript {$_.DHCPServer -contains "192.168.1.254"} | ForEach-Object -Process {$_.ReleaseDHCPLease()}

De enige wijziging voor het vernieuwen van een DHCP-lease is met de RenewDCHPLease methode in plaats van de ReleaseDHCPLease methode:The only change for renewing a DHCP lease is to use the RenewDHCPLease method instead of the ReleaseDHCPLease method:

Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Filter "IPEnabled=true and DHCPEnabled=true" -ComputerName . | Where-Object -FilterScript {$_.DHCPServer -contains "192.168.1.254"} | ForEach-Object -Process {$_.ReleaseDHCPLease()}

Notitie

Wanneer u deze methoden op een externe computer, Let erop dat u toegang met het externe systeem verliezen kunt als u met het via de adapter met de lease vrijgegeven of vernieuwd verbonden bent.When using these methods on a remote computer, be aware that you can lose access to the remote system if you are connected to it through the adapter with the released or renewed lease.

Vrijgeven en DHCP-Leases op alle Adapters vernieuwenReleasing and Renewing DHCP Leases on All Adapters

U kunt globale releases van DHCP-adres of vernieuwingen op alle adapters uitvoeren met behulp van de Win32_NetworkAdapterConfiguration methoden, ReleaseDHCPLeaseAll en RenewDCHPLeaseAll .You can perform global DHCP address releases or renewals on all adapters by using the Win32_NetworkAdapterConfiguration methods, ReleaseDHCPLeaseAll and RenewDHCPLeaseAll. Echter de opdracht moet toepassen op de WMI-klasse, in plaats van een bepaalde adapter omdat vrijgeven en leases globaal vernieuwen op de klasse, niet op een bepaalde adapter wordt uitgevoerd.However, the command must apply to the WMI class, rather than a particular adapter, because releasing and renewing leases globally is performed on the class, not on a specific adapter.

U krijgt een verwijzing naar een WMI-klasse, in plaats van de klasse-instanties weergeven van alle WMI-klassen en selecteert u alleen de gewenste klasse met de naam.You can get a reference to a WMI class, instead of class instances, by listing all WMI classes and then selecting only the desired class by name. De volgende opdracht geeft bijvoorbeeld de Win32_NetworkAdapterConfiguration-klasse:For example, the following command returns the Win32_NetworkAdapterConfiguration class:

Get-WmiObject -List | Where-Object -FilterScript {$_.Name -eq "Win32_NetworkAdapterConfiguration"}

U kunt de volledige opdracht behandelen als de klasse en roep daarna de ReleaseDHCPAdapterLease methode erop.You can treat the entire command as the class and then invoke the ReleaseDHCPAdapterLease method on it. In de volgende opdracht, de haakjes de Get-WmiObject en Where-Object Pijplijnelementen direct Windows PowerShell om te evalueren ze eerst:In the following command, the parentheses surrounding the Get-WmiObject and Where-Object pipeline elements direct Windows PowerShell to evaluate them first:

( Get-WmiObject -List | Where-Object -FilterScript {$_.Name -eq "Win32_NetworkAdapterConfiguration"} ).ReleaseDHCPLeaseAll()

U kunt dezelfde opdrachtindeling gebruiken om aan te roepen de RenewDCHPLeaseAll methode:You can use the same command format to invoke the RenewDHCPLeaseAll method:

( Get-WmiObject -List | Where-Object -FilterScript {$_.Name -eq "Win32_NetworkAdapterConfiguration"} ).RenewDHCPLeaseAll()

Een netwerkshare makenCreating a Network Share

Voor het maken van een netwerkshare gebruikt de Win32_Share maken methode:To create a network share, use the Win32_Share Create method:

(Get-WmiObject -List -ComputerName . | Where-Object -FilterScript {$_.Name -eq "Win32_Share"}).Create("C:\temp","TempShare",0,25,"test share of the temp folder")

U kunt ook de share maken met behulp van net share in Windows PowerShell:You can also create the share by using net share in Windows PowerShell:

net share tempshare=c:\temp /users:25 /remark:"test share of the temp folder"

Een netwerkshare verwijderenRemoving a Network Share

U kunt een netwerkshare in verwijderen Win32_Share, maar het proces is enigszins afwijken van het maken van een share, omdat u nodig hebt voor het ophalen van de specifieke share moet worden verwijderd, in plaats van de Win32_Share de klasse.You can remove a network share with Win32_Share, but the process is slightly different from creating a share, because you need to retrieve the specific share to be removed, rather than the Win32_Share class. De volgende instructie verwijdert de share 'TempShare':The following statement deletes the share "TempShare":

(Get-WmiObject -Class Win32_Share -ComputerName . -Filter "Name='TempShare'").Delete()

Net share werkt ook:Net share works as well:

PS> net share tempshare /delete
tempshare was deleted successfully.

Verbinding maken met een toegankelijke netwerkstation van WindowsConnecting a Windows Accessible Network Drive

De nieuw PSDrive cmdlets maakt een Windows PowerShell-station, maar de stations die zijn gemaakt op deze manier zijn alleen beschikbaar voor Windows PowerShell.The New-PSDrive cmdlets creates a Windows PowerShell drive, but drives created this way are available only to Windows PowerShell. Een nieuwe netwerk station wilt maken, kunt u de WScript.Network COM-object.To create a new networked drive, you can use the WScript.Network COM object. De volgende opdracht wordt de share toegewezen \ \FPS01\gebruikers naar de lokale schijf B:The following command maps the share \\FPS01\users to local drive B:

(New-Object -ComObject WScript.Network).MapNetworkDrive("B:", "\\FPS01\users")

De gebruik net opdracht werkt ook:The net use command works as well:

net use B: \\FPS01\users

Schijven met een toegewezen WScript.Network of net gebruik onmiddellijk beschikbaar zijn voor Windows PowerShell.Drives mapped with either WScript.Network or net use are immediately available to Windows PowerShell.