天天看点

PowerShell修改IP地址

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

<code>#region 强迫以管理员权限运行</code>

<code>$currentWi</code> <code>= </code><code>[Security.Principal.WindowsIdentity]</code><code>::GetCurrent() </code>

<code>$currentWp</code> <code>= </code><code>[Security.Principal.WindowsPrincipal]</code><code>$currentWi</code>

<code> </code> 

<code>if</code><code>( </code><code>-not</code> <code>$currentWp</code><code>.IsInRole(</code><code>[Security.Principal.WindowsBuiltInRole]</code><code>::Administrator)) </code>

<code>{ </code>

<code>  </code><code>$boundPara</code> <code>= (</code><code>$MyInvocation</code><code>.BoundParameters.Keys | </code><code>foreach</code><code>{</code>

<code>     </code><code>'-{0} {1}'</code> <code>-f</code>  <code>$_</code> <code>,</code><code>$MyInvocation</code><code>.BoundParameters[</code><code>$_</code><code>]} ) -join </code><code>' '</code>

<code>  </code><code>$currentFile</code> <code>= (</code><code>Resolve-Path</code>  <code>$MyInvocation</code><code>.InvocationName).Path </code>

<code> </code><code>$fullPara</code> <code>= </code><code>$boundPara</code> <code>+ </code><code>' '</code> <code>+ </code><code>$args</code> <code>-join </code><code>' '</code>

<code> </code><code>Start-Process</code> <code>"$psHome\powershell.exe"</code>   <code>-ArgumentList </code><code>"$currentFile $fullPara"</code>   <code>-verb runas </code>

<code> </code><code>return</code>

<code>} </code>

<code>#endregion</code>

<code>$numA</code> <code>= 1</code>

<code>do</code><code>{</code>

<code>    </code><code>Echo </code><code>"##################"</code>

<code>    </code><code>Echo </code><code>"#    1.IP1    #"</code>

<code>    </code><code>Echo </code><code>"#    2.IP2    #"</code>

<code>    </code><code>Echo </code><code>"#    3.IP3   #"</code>

<code>    </code><code>Echo </code><code>"#    4.退出  #"</code>

<code>    </code><code>Echo </code><code>"`n"</code>

<code>    </code><code>$SelectString</code> <code>= </code><code>Read-Host</code> <code>"请选择地点"</code>

<code>    </code><code>$wmi</code> <code>= </code><code>Get-WmiObject</code> <code>win32_networkadapterconfiguration -</code><code>filter</code> <code>"ipenabled = 'true'"</code>

<code>    </code><code>switch</code><code>(</code><code>$SelectString</code><code>){</code>

<code>        </code><code>1 {            </code>

<code>            </code><code>$wmi</code><code>.EnableStatic(</code><code>"192.168.27.16"</code><code>, </code><code>"255.255.255.0"</code><code>) &gt;</code><code>$null</code>

<code>            </code><code>$wmi</code><code>.SetGateways(</code><code>"192.168.27.2"</code><code>,1) &gt;</code><code>$null</code>

<code>             </code><code>$wmi</code><code>.SetDNSServerSearchOrder(</code><code>"192.168.0.254"</code><code>) &gt;</code><code>$null</code>

<code>            </code><code>}</code>

<code>        </code><code>2 {</code>

<code>            </code><code>$wmi</code><code>.EnableStatic(</code><code>"10.0.0.16"</code><code>, </code><code>"255.0.0.0"</code><code>) &gt;</code><code>$null</code>

<code>            </code><code>$wmi</code><code>.SetGateways(</code><code>"10.0.0.2"</code><code>,1) &gt;</code><code>$null</code>

<code>            </code><code>$wmi</code><code>.SetDNSServerSearchOrder(</code><code>"10.0.0.254"</code><code>) &gt;</code><code>$null</code>

<code>           </code><code>}</code>

<code>        </code><code>3 {</code>

<code>            </code><code>$wmi</code><code>.EnableStatic(</code><code>"192.168.254.108"</code><code>, </code><code>"255.255.255.0"</code><code>) &gt;</code><code>$null</code>

<code>            </code><code>$wmi</code><code>.SetGateways(</code><code>"192.168.254.254"</code><code>,1) &gt;</code><code>$null</code>

<code>            </code><code>$wmi</code><code>.SetDNSServerSearchOrder(</code><code>"192.168.254.254"</code><code>) &gt;</code><code>$null</code>

<code>        </code><code>4 {</code>

<code>            </code><code>Exit</code>

<code>            </code><code>}        </code>

<code>        </code><code>Default</code> <code>{</code><code>"输入错误!请重新启动选择~"</code><code>}</code>

<code>    </code><code>}</code>

<code>    </code><code>Echo </code><code>"请核对修改后的IP地址是否正确~"</code>

<code>    </code><code>$IPAddress</code> <code>= </code><code>$wmi</code><code>.IPAddress</code>

<code>    </code><code>$Subnet</code> <code>= </code><code>$wmi</code><code>.IPSubnet</code>

<code>    </code><code>$DefaultIPGateway</code> <code>= </code><code>$wmi</code><code>.DefaultIPGateway</code>

<code>    </code><code>$DNS</code> <code>= </code><code>$wmi</code><code>.DNSServerSearchOrder</code>

<code>    </code><code>Echo </code><code>"  IP地址:$IPAddress"</code> 

<code>    </code><code>Echo </code><code>"子网地址:$Subnet"</code>

<code>    </code><code>Echo </code><code>"默认网关:$DefaultIPGateway"</code>

<code>    </code><code>Echo </code><code>"     DNS:$DNS"</code>

<code>} </code><code>While</code><code>(</code><code>$numA</code> <code>-eq</code> <code>1)</code>

<code></code>

本文转自 bannerpei 51CTO博客,原文链接:http://blog.51cto.com/281816327/1841304,如需转载请自行联系原作者