Hálózatkezelési feladatok végrehajtása
Ez a minta csak Windows-platformokra vonatkozik.
Mivel a TCP/IP a leggyakrabban használt hálózati protokoll, a legtöbb alacsony szintű hálózati protokoll-felügyeleti feladat a TCP/IP protokollt foglalja magában. Ebben a szakaszban a PowerShell és a WMI használatával hajtjuk végre ezeket a feladatokat.
Számítógép IP-címeinek listázása
A helyi számítógépen használt összes IP-cím lekéréséhez használja a következő parancsot:
Get-CimInstance -Class Win32_NetworkAdapterConfiguration -Filter IPEnabled=$true |
Select-Object -ExpandProperty IPAddress
Mivel egy Win32_NetworkAdapterConfiguration objektum IPAddress tulajdonsága tömb, a teljes címlista megtekintéséhez az ExpandProperty paramétert Select-Object
kell használnia.
10.0.0.1
fe80::60ea:29a7:a233:7cb7
2601:600:a27f:a470:f532:6451:5630:ec8b
2601:600:a27f:a470:e167:477d:6c5c:342d
2601:600:a27f:a470:b021:7f0d:eab9:6299
2601:600:a27f:a470:a40e:ebce:1a8c:a2f3
2601:600:a27f:a470:613c:12a2:e0e0:bd89
2601:600:a27f:a470:444f:17ec:b463:7edd
2601:600:a27f:a470:10fd:7063:28e9:c9f3
2601:600:a27f:a470:60ea:29a7:a233:7cb7
2601:600:a27f:a470::2ec1
A Get-Member
parancsmaggal láthatja, hogy az IPAddress tulajdonság tömb:
Get-CimInstance -Class Win32_NetworkAdapterConfiguration -Filter IPEnabled=$true |
Get-Member -Name IPAddress
TypeName: Microsoft.Management.Infrastructure.CimInstance#root/cimv2/Win32_NetworkAdapterConfiguration
Name MemberType Definition
---- ---------- ----------
IPAddress Property string[] IPAddress {get;}
Az egyes hálózati adapterek IPAddress tulajdonsága valójában tömb. A definíció zárójelei azt jelzik, hogy az IPAddress nem System.String érték, hanem System.String értékek tömbje.
IP-konfigurációs adatok listázása
Az egyes hálózati adapterek részletes IP-konfigurációs adatainak megjelenítéséhez használja a következő parancsot:
Get-CimInstance -Class Win32_NetworkAdapterConfiguration -Filter IPEnabled=$true
A hálózati adapter konfigurációs objektumának alapértelmezett megjelenítése a rendelkezésre álló információk nagyon korlátozott készlete. Részletes vizsgálathoz és hibaelhárításhoz használjon Select-Object
vagy formázó parancsmagot, például Format-List
a megjelenítendő tulajdonságok megadásához.
A modern TCP/IP-hálózatokban valószínűleg nem érdekli az IPX vagy a WINS tulajdonságai. Az ExcludeProperty paraméterrel Select-Object
elrejtheti a "WINS" vagy az "IPX" kezdetű neveket tartalmazó tulajdonságokat.
Get-CimInstance -Class Win32_NetworkAdapterConfiguration -Filter IPEnabled=$true |
Select-Object -ExcludeProperty IPX*,WINS*
Ez a parancs részletes információkat ad vissza a DHCP, a DNS, az útválasztás és más kisebb IP-konfigurációs tulajdonságokról.
Számítógépek pingelése
A Win32_PingStatus használatával egyszerűen pingelhet egy számítógépet. A következő parancs végrehajtja a pingelést, de hosszú kimenetet ad vissza:
Get-CimInstance -Class Win32_PingStatus -Filter "Address='127.0.0.1'"
Hasznosabb űrlap az összefoglaló információkhoz a Cím, a ResponseTime és a StatusCode tulajdonságok megjelenítéséhez az alábbi parancs által generált módon. Az automatikus méretezési paraméter átméretezi Format-Table
a táblázat oszlopait, hogy azok megfelelően jelenjenek meg a PowerShellben.
Get-CimInstance -Class Win32_PingStatus -Filter "Address='127.0.0.1'" |
Format-Table -Property Address,ResponseTime,StatusCode -Autosize
Address ResponseTime StatusCode
------- ------------ ----------
127.0.0.1 0 0
A 0 állapotkód sikeres pingelést jelez.
Egy tömb használatával több számítógépet is pingelhet egyetlen paranccsal. Mivel több cím is van, az egyes címek pingeléséhez használja a ForEach-Object
következőt:
'127.0.0.1','localhost','bing.com' |
ForEach-Object -Process {
Get-CimInstance -Class Win32_PingStatus -Filter ("Address='$_'") |
Select-Object -Property Address,ResponseTime,StatusCode
}
Ugyanazzal a parancsformátummal pingelheti az alhálózat összes címét, például egy magánhálózatot, amely a 192.168.1.0-s hálózati számot és egy standard C osztályú alhálózati maszkot (255.255.255.0) használ. Csak a 192.168.1.1–192.168.1.254 tartományba tartozó címek jogos helyi címek (a 0 mindig a hálózati számhoz van fenntartva, a 255 pedig alhálózati szórási cím).
A PowerShellben az 1 és 254 közötti számok tömbjének megjelenítéséhez használja a kifejezést 1..254
.
A teljes alhálózati pingelés úgy hajtható végre, hogy a tartomány minden értékét hozzáadja egy részleges címhez a pingelési utasításban:
1..254| ForEach-Object -Process {
Get-CimInstance -Class Win32_PingStatus -Filter ("Address='192.168.1.$_'") } |
Select-Object -Property Address,ResponseTime,StatusCode
Vegye figyelembe, hogy ez a címtartomány létrehozására szolgáló technika máshol is használható. A címek teljes készletét így hozhatja létre:
$ips = 1..254 | ForEach-Object -Process {'192.168.1.' + $_}
Hálózati adapter tulajdonságainak lekérése
Korábban már említettük, hogy a Win32_NetworkAdapterConfiguration osztály használatával lekérheti az általános konfigurációs tulajdonságokat. Bár nem szigorúan TCP/IP-információk, a hálózati adapter adatai, például a MAC-címek és az adaptertípusok hasznosak lehetnek a számítógéppel kapcsolatos problémák megértéséhez. Az információk összegzéséhez használja a következő parancsot:
Get-CimInstance -Class Win32_NetworkAdapter -ComputerName .
A DNS-tartomány hozzárendelése hálózati adapterhez
A DNS-tartomány automatikus névfeloldáshoz való hozzárendeléséhez használja a Win32_NetworkAdapterConfiguration SetDNSDomain metódusát. A lekérdezési paraméter WQL lekérdezési Invoke-CimMethod
sztringet vesz fel. A parancsmag meghívja a lekérdezés által visszaadott egyes példányokon megadott metódust.
$wql = 'SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled=True'
$args = @{ DnsDomain = 'fabrikam.com'}
Invoke-CimMethod -MethodName SetDNSDomain -Arguments $args -Query $wql
A szűrésre IPEnabled=True
azért van szükség, mert még a csak TCP/IP-t használó hálózatokon is a számítógép hálózati adapterének számos konfigurációja nem igaz TCP/IP-adapter. ezek általános szoftverelemek, amelyek a RAS, VPN, QoS és egyéb szolgáltatásokat támogatják az összes adapterhez, így nem rendelkeznek saját címmel.
DHCP-konfigurációs feladatok végrehajtása
A DHCP részleteinek módosítása magában foglalja a hálózati adapterek készletének használatát, ugyanúgy, mint a DNS-konfigurációt. A WMI használatával számos különböző műveletet hajthat végre.
DHCP-kompatibilis adapterek keresése
A DHCP-kompatibilis adapterek számítógépen való megkereséséhez használja a következő parancsot:
Get-CimInstance -Class Win32_NetworkAdapterConfiguration -Filter "DHCPEnabled=$true"
Az IP-konfigurációs problémákkal rendelkező adapterek kizárásához csak az IP-kompatibilis adaptereket lehet lekérni:
Get-CimInstance -Class Win32_NetworkAdapterConfiguration -Filter "IPEnabled=$true and DHCPEnabled=$true"
DHCP-tulajdonságok beolvasása
Mivel egy adapter DHCP-hez kapcsolódó tulajdonságai általában a következőkkel DHCP
kezdődnek, a tulajdonságparaméterrel Format-Table
csak azokat a tulajdonságokat jelenítheti meg:
Get-CimInstance -Class Win32_NetworkAdapterConfiguration -Filter "IPEnabled=$true and DHCPEnabled=$true" |
Format-Table -Property DHCP*
DHCP engedélyezése minden adapteren
Ha minden adapteren engedélyezni szeretné a DHCP-t, használja a következő parancsot:
$wql = 'SELECT * from Win32_NetworkAdapterConfiguration WHERE IPEnabled=True and DHCPEnabled=False'
Invoke-CimMethod -MethodName ReleaseDHCPLease -Query $wql
A szűrőutasítás IPEnabled=True and DHCPEnabled=False
használata elkerüli a DHCP engedélyezését ott, ahol már engedélyezve van.
DHCP-bérletek felszabadítása és megújítása adott adaptereken
A Win32_NetworkAdapterConfiguration osztály példányai és ReleaseDHCPLease
RenewDHCPLease
metódusai. Mindkettőt ugyanúgy használják. Általában akkor használja ezeket a módszereket, ha csak egy adott alhálózaton lévő adapter címeit kell felszabadítania vagy megújítania. Az alhálózat adaptereinek szűrésének legegyszerűbb módja, ha csak azokat az adapter-konfigurációkat választja ki, amelyek az adott alhálózat átjáróját használják. A következő parancs például az összes DHCP-bérletet felszabadítja a helyi számítógépen lévő összes olyan adapteren, amely a DHCP-bérleteket a 192.168.1.254-től szerzi be:
$wql = 'SELECT * from Win32_NetworkAdapterConfiguration WHERE DHCPServer="192.168.1.1"'
Invoke-CimMethod -MethodName ReleaseDHCPLease -Query $wql
A DHCP-bérlet megújításának egyetlen módosítása a metódus helyett a RenewDHCPLease
ReleaseDHCPLease
metódus használata:
$wql = 'SELECT * from Win32_NetworkAdapterConfiguration WHERE DHCPServer="192.168.1.1"'
Invoke-CimMethod -MethodName RenewDHCPLease -Query $wql
Feljegyzés
Ha ezeket a módszereket távoli számítógépen használja, vegye figyelembe, hogy elveszítheti a távoli rendszerhez való hozzáférést, ha az adapteren keresztül csatlakozik hozzá a kiadott vagy megújított bérlettel.
DHCP-bérletek kiadása és megújítása az összes adapteren
Az Win32_NetworkAdapterConfiguration metódusokkal globális DHCP-címkiadásokat vagy -megújításokat hajthat végre az összes adapteren. ReleaseDHCPLeaseAll
RenewDHCPLeaseAll
A parancsnak azonban nem egy adott adapterre, hanem a WMI-osztályra kell vonatkoznia, mivel a bérletek globális kiadása és megújítása nem egy adott adapteren, hanem az osztályon történik. A Invoke-CimMethod
parancsmag meghívhatja egy osztály metódusait.
Invoke-CimMethod -ClassName Win32_NetworkAdapterConfiguration -MethodName ReleaseDHCPLeaseAll
Ugyanazt a parancsformátumot használhatja a RenewDHCPLeaseAll metódus meghívásához:
Invoke-CimMethod -ClassName Win32_NetworkAdapterConfiguration -MethodName RenewDHCPLeaseAll
Hálózati megosztás létrehozása
Hálózati megosztás létrehozásához használja a Create
Win32_Share módszerét:
Invoke-CimMethod -ClassName Win32_Share -MethodName Create -Arguments @{
Path = 'C:\temp'
Name = 'TempShare'
Type = [uint32]0 #Disk Drive
MaximumAllowed = [uint32]25
Description = 'test share of the temp folder'
}
Ez egyenértékű a windowsos következő net share
paranccsal:
net share tempshare=c:\temp /users:25 /remark:"test share of the temp folder"
A paramétereket használó WMI-osztály metódusának meghívásához ismernie kell az elérhető paramétereket és a paraméterek típusait. A Win32_Class metódusait például a következő parancsokkal listázhatja:
(Get-CimClass -ClassName Win32_Share).CimClassMethods
Name ReturnType Parameters Qualifiers
---- ---------- ---------- ----------
Create UInt32 {Access, Description, MaximumAllowed, Name…} {Constructor, Implemented, MappingStrings, Stati…
SetShareInfo UInt32 {Access, Description, MaximumAllowed} {Implemented, MappingStrings}
GetAccessMask UInt32 {} {Implemented, MappingStrings}
Delete UInt32 {} {Destructor, Implemented, MappingStrings}
Az alábbi paranccsal listázhatja a metódus paramétereit Create
.
(Get-CimClass -ClassName Win32_Share).CimClassMethods['Create'].Parameters
Name CimType Qualifiers ReferenceClassName
---- ------- ---------- ------------------
Access Instance {EmbeddedInstance, ID, In, MappingStrings…}
Description String {ID, In, MappingStrings, Optional}
MaximumAllowed UInt32 {ID, In, MappingStrings, Optional}
Name String {ID, In, MappingStrings}
Password String {ID, In, MappingStrings, Optional}
Path String {ID, In, MappingStrings}
Type UInt32 {ID, In, MappingStrings}
A Win32_Share osztály létrehozási módjának dokumentációját is elolvashatja.
Hálózati megosztás eltávolítása
A hálózati megosztásokat eltávolíthatja a Win32_Share, de a folyamat kissé eltér a megosztások létrehozásának folyamatától, mivel a Win32_Share osztály helyett le kell kérnie az eltávolítani kívánt példányt. Az alábbi példa törli a TempShare megosztást:
$wql = 'SELECT * from Win32_Share WHERE Name="TempShare"'
Invoke-CimMethod -MethodName Delete -Query $wql
Windows-akadálymentes hálózati meghajtó Csatlakozás
A New-PSDrive
parancsmag létrehozhat egy hálózati megosztásra leképezett PowerShell-meghajtót.
New-PSDrive -Name "X" -PSProvider "FileSystem" -Root "\\Server01\Public"
Az így létrehozott meghajtók azonban csak a PowerShell-munkamenetben érhetők el, ahol létre lettek hozva. A PowerShellen (vagy más PowerShell-munkameneteken) kívül elérhető meghajtók leképezéséhez a Persist paramétert kell használnia.
New-PSDrive -Persist -Name "X" -PSProvider "FileSystem" -Root "\\Server01\Public"
Feljegyzés
Előfordulhat, hogy az állandólag leképezett meghajtók nem érhetők el emelt szintű környezetben való futtatáskor. Ez a Windows UAC alapértelmezett viselkedése. További információkért tekintse át az alábbi cikket:
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: