PoshCode Archive  Hex Artifact Content

Artifact 8085402deef230027848e45a75886b875ef6993d89fb766bd10370fa5855a552:

  • File Set-IPAddress.ps1 — part of check-in [cc4661a6f6] at 2018-06-10 13:28:06 on branch trunk — A function to set an IP Address (user: Robert size: 1309)

0000: 23 20 65 6e 63 6f 64 69 6e 67 3a 20 61 73 63 69  # encoding: asci
0010: 69 0d 0a 23 20 61 70 69 3a 20 70 6f 77 65 72 73  i..# api: powers
0020: 68 65 6c 6c 0d 0a 23 20 74 69 74 6c 65 3a 20 0d  hell..# title: .
0030: 0a 23 20 64 65 73 63 72 69 70 74 69 6f 6e 3a 20  .# description: 
0040: 41 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 73 65  A function to se
0050: 74 20 61 6e 20 49 50 20 41 64 64 72 65 73 73 0d  t an IP Address.
0060: 0a 23 20 76 65 72 73 69 6f 6e 3a 20 31 39 32 2e  .# version: 192.
0070: 31 36 38 2e 31 2e 31 0d 0a 23 20 74 79 70 65 3a  168.1.1..# type:
0080: 20 66 75 6e 63 74 69 6f 6e 0d 0a 23 20 61 75 74   function..# aut
0090: 68 6f 72 3a 20 52 6f 62 65 72 74 0d 0a 23 20 6c  hor: Robert..# l
00a0: 69 63 65 6e 73 65 3a 20 43 43 30 0d 0a 23 20 66  icense: CC0..# f
00b0: 75 6e 63 74 69 6f 6e 3a 20 53 65 74 2d 49 50 41  unction: Set-IPA
00c0: 64 64 72 65 73 73 0d 0a 23 20 78 2d 70 6f 73 68  ddress..# x-posh
00d0: 63 6f 64 65 2d 69 64 3a 20 33 35 39 38 0d 0a 23  code-id: 3598..#
00e0: 20 78 2d 61 72 63 68 69 76 65 64 3a 20 32 30 31   x-archived: 201
00f0: 32 2d 30 39 2d 30 35 54 31 30 3a 30 38 3a 35 39  2-09-05T10:08:59
0100: 0d 0a 23 20 78 2d 70 75 62 6c 69 73 68 65 64 3a  ..# x-published:
0110: 20 32 30 31 32 2d 30 38 2d 32 38 54 31 31 3a 34   2012-08-28T11:4
0120: 36 3a 30 30 0d 0a 23 0d 0a 23 20 41 6e 64 79 20  6:00..#..# Andy 
0130: 53 63 68 6e 65 69 64 65 72 0d 0a 23 20 47 65 74  Schneider..# Get
0140: 2d 50 6f 77 65 72 53 68 65 6c 6c 2e 63 6f 6d 0d  -PowerShell.com.
0150: 0a 23 0d 0a 66 75 6e 63 74 69 6f 6e 20 53 65 74  .#..function Set
0160: 2d 49 50 41 64 64 72 65 73 73 20 7b 0d 0a 09 09  -IPAddress {....
0170: 70 61 72 61 6d 28 09 5b 73 74 72 69 6e 67 5d 24  param(.[string]$
0180: 6e 65 74 77 6f 72 6b 69 6e 74 65 72 66 61 63 65  networkinterface
0190: 20 3d 24 28 72 65 61 64 2d 68 6f 73 74 20 22 45   =$(read-host "E
01a0: 6e 74 65 72 20 74 68 65 20 6e 61 6d 65 20 6f 66  nter the name of
01b0: 20 74 68 65 20 4e 49 43 20 28 69 65 20 4c 6f 63   the NIC (ie Loc
01c0: 61 6c 20 41 72 65 61 20 43 6f 6e 6e 65 63 74 69  al Area Connecti
01d0: 6f 6e 29 22 29 2c 0d 0a 09 09 09 5b 73 74 72 69  on)"),.....[stri
01e0: 6e 67 5d 24 69 70 20 3d 20 24 28 72 65 61 64 2d  ng]$ip = $(read-
01f0: 68 6f 73 74 20 22 45 6e 74 65 72 20 61 6e 20 49  host "Enter an I
0200: 50 20 41 64 64 72 65 73 73 20 28 69 65 20 31 30  P Address (ie 10
0210: 2e 31 30 2e 31 30 2e 31 30 29 22 29 2c 0d 0a 09  .10.10.10)"),...
0220: 09 09 5b 73 74 72 69 6e 67 5d 24 6d 61 73 6b 20  ..[string]$mask 
0230: 3d 20 24 28 72 65 61 64 2d 68 6f 73 74 20 22 45  = $(read-host "E
0240: 6e 74 65 72 20 74 68 65 20 73 75 62 6e 65 74 20  nter the subnet 
0250: 6d 61 73 6b 20 28 69 65 20 32 35 35 2e 32 35 35  mask (ie 255.255
0260: 2e 32 35 35 2e 30 29 22 29 2c 0d 0a 09 09 09 5b  .255.0)"),.....[
0270: 73 74 72 69 6e 67 5d 24 67 61 74 65 77 61 79 20  string]$gateway 
0280: 3d 20 24 28 72 65 61 64 2d 68 6f 73 74 20 22 45  = $(read-host "E
0290: 6e 74 65 72 20 74 68 65 20 63 75 72 72 65 6e 74  nter the current
02a0: 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 4e 49 43   name of the NIC
02b0: 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 72 65 6e   you want to ren
02c0: 61 6d 65 22 29 2c 0d 0a 09 09 09 5b 73 74 72 69  ame"),.....[stri
02d0: 6e 67 5d 24 64 6e 73 31 20 3d 20 24 28 72 65 61  ng]$dns1 = $(rea
02e0: 64 2d 68 6f 73 74 20 22 45 6e 74 65 72 20 74 68  d-host "Enter th
02f0: 65 20 66 69 72 73 74 20 44 4e 53 20 53 65 72 76  e first DNS Serv
0300: 65 72 20 28 69 65 20 31 30 2e 32 2e 30 2e 32 38  er (ie 10.2.0.28
0310: 29 22 29 2c 0d 0a 09 09 09 5b 73 74 72 69 6e 67  )"),.....[string
0320: 5d 24 64 6e 73 32 2c 0d 0a 09 09 09 5b 73 74 72  ]$dns2,.....[str
0330: 69 6e 67 5d 24 72 65 67 69 73 74 65 72 44 6e 73  ing]$registerDns
0340: 20 3d 20 22 54 52 55 45 22 0d 0a 09 09 20 29 0d   = "TRUE".... ).
0350: 0a 09 09 24 64 6e 73 20 3d 20 24 64 6e 73 31 0d  ...$dns = $dns1.
0360: 0a 09 09 69 66 28 24 64 6e 73 32 29 7b 24 64 6e  ...if($dns2){$dn
0370: 73 20 3d 22 24 64 6e 73 31 2c 24 64 6e 73 32 22  s ="$dns1,$dns2"
0380: 7d 0d 0a 09 09 24 69 6e 64 65 78 20 3d 20 28 67  }....$index = (g
0390: 77 6d 69 20 57 69 6e 33 32 5f 4e 65 74 77 6f 72  wmi Win32_Networ
03a0: 6b 41 64 61 70 74 65 72 20 7c 20 77 68 65 72 65  kAdapter | where
03b0: 20 7b 24 5f 2e 6e 65 74 63 6f 6e 6e 65 63 74 69   {$_.netconnecti
03c0: 6f 6e 69 64 20 2d 65 71 20 24 6e 65 74 77 6f 72  onid -eq $networ
03d0: 6b 69 6e 74 65 72 66 61 63 65 7d 29 2e 49 6e 74  kinterface}).Int
03e0: 65 72 66 61 63 65 49 6e 64 65 78 0d 0a 09 09 24  erfaceIndex....$
03f0: 4e 65 74 49 6e 74 65 72 66 61 63 65 20 3d 20 47  NetInterface = G
0400: 65 74 2d 57 6d 69 4f 62 6a 65 63 74 20 57 69 6e  et-WmiObject Win
0410: 33 32 5f 4e 65 74 77 6f 72 6b 41 64 61 70 74 65  32_NetworkAdapte
0420: 72 43 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 7c  rConfiguration |
0430: 20 77 68 65 72 65 20 7b 24 5f 2e 49 6e 74 65 72   where {$_.Inter
0440: 66 61 63 65 49 6e 64 65 78 20 2d 65 71 20 24 69  faceIndex -eq $i
0450: 6e 64 65 78 7d 0d 0a 09 09 24 4e 65 74 49 6e 74  ndex}....$NetInt
0460: 65 72 66 61 63 65 2e 45 6e 61 62 6c 65 53 74 61  erface.EnableSta
0470: 74 69 63 28 24 69 70 2c 20 24 73 75 62 6e 65 74  tic($ip, $subnet
0480: 6d 61 73 6b 29 0d 0a 09 09 24 4e 65 74 49 6e 74  mask)....$NetInt
0490: 65 72 66 61 63 65 2e 53 65 74 47 61 74 65 77 61  erface.SetGatewa
04a0: 79 73 28 24 67 61 74 65 77 61 79 29 0d 0a 09 09  ys($gateway)....
04b0: 24 4e 65 74 49 6e 74 65 72 66 61 63 65 2e 53 65  $NetInterface.Se
04c0: 74 44 4e 53 53 65 72 76 65 72 53 65 61 72 63 68  tDNSServerSearch
04d0: 4f 72 64 65 72 28 24 64 6e 73 29 0d 0a 09 09 24  Order($dns)....$
04e0: 4e 65 74 49 6e 74 65 72 66 61 63 65 2e 53 65 74  NetInterface.Set
04f0: 44 79 6e 61 6d 69 63 44 4e 53 52 65 67 69 73 74  DynamicDNSRegist
0500: 72 61 74 69 6f 6e 28 24 72 65 67 69 73 74 65 72  ration($register
0510: 44 6e 73 29 0d 0a 09 09 0d 0a 7d 0d 0a           Dns)......}..