Advertisement
Guest User

Untitled

a guest
Apr 16th, 2014
41
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.04 KB | None | 0 0
  1. ##################################################
  2. # Variables that need to be set for script to work
  3. #Path to RACADM Executable
  4. $racadmpath = "C:Program FilesDellSysMgtrac5"
  5. # Username and Password for DRAC Account with configure access. Suggested that this
  6. # be set in the script you which to use with, or configured as script command line
  7. # arguments for security.
  8.  
  9. $username = *****
  10. $pass = *******
  11. $ipchbld = Import-Csv 'ipCHBLD.csv'
  12. #####################################################################################
  13.  
  14. $MyCollection = @()
  15. foreach ($ip in $ipchbld) {
  16. $arrayobj = @()
  17. $object = New-Object PSObject
  18. $object | add-member -MemberType NoteProperty -Name "Chassis Slot" -value $ip.Chassis_Slot
  19. $object | add-member -MemberType NoteProperty -Name "DRAC IP" -value $ip.DRAC_IP
  20. $output = & $racadmpathracadm.exe -r $ip.DRAC_IP -u $username -p $pass getchassiname | select -Skip 8
  21. foreach ($line in $output) {
  22. if ($line -ne "") {
  23. $line = $line -replace 's+', ','
  24. $line = $line.Split(",")
  25. $object | add-member -MemberType NoteProperty -Name "Chassis Name" -value $line[0]
  26. }
  27. }
  28. $output = & $racadmpathracadm.exe -r $ip.DRAC_IP -u $username -p $pass getsvctag | select -Skip 8
  29. foreach ($line in $output) {
  30. if ($line -ne "" -And $line -match "Chassis") {
  31. $line = $line -replace 's+', ','
  32. $line = $line.Split(",")
  33. $object | add-member -MemberType NoteProperty -Name "Chassis Service Tag" -value $line[1]
  34. }
  35. }
  36. $output = & $racadmpathracadm.exe -r $ip.DRAC_IP -u $username -p $pass getversion -m cmc-1 | select -Skip 8
  37. foreach ($line in $output) {
  38. if ($line -ne "") {
  39. $line = $line -replace 's+', ','
  40. $line = $line.Split(",")
  41. $object | add-member -MemberType NoteProperty -Name "CMC" -value $line[0]
  42. $object | add-member -MemberType NoteProperty -Name "CMC Version" -value $line[1]
  43. }
  44. }
  45. $output = & $racadmpathracadm.exe -r $ip.DRAC_IP -u $username -p $pass getversion -m cmc-2 | select -Skip 8
  46. foreach ($line in $output) {
  47. if ($line -ne "") {
  48. $line = $line -replace 's+', ','
  49. $line = $line.Split(",")
  50. $object | add-member -MemberType NoteProperty -Name "CMC" -value $line[0]
  51. $object | add-member -MemberType NoteProperty -Name "CMC Version" -value $line[1]
  52. }
  53. }
  54. $output = & $racadmpathracadm.exe -r $ip.DRAC_IP -u $username -p $pass getslotname | select -Skip 8
  55. foreach ($line in $output) {
  56. if ($line -ne "") {
  57. $line = $line -replace 's+', ','
  58. $line = $line.Split(",")
  59. $object | add-member -MemberType NoteProperty -Name "Blade Slot" -value $line[1]
  60. $object | add-member -MemberType NoteProperty -Name "Blade Name" -value $line[2]
  61. }
  62. }
  63. $output = & $racadmpathracadm.exe -r $ip.DRAC_IP -u $username -p $pass getversion -c | select -Skip 8
  64. foreach ($line in $output) {
  65. if ($line -ne "" -ANd $line -match "server") {
  66. $line = $line -replace 's+', ','
  67. $line = $line.Split(",")
  68. $object | add-member -MemberType NoteProperty -Name "Blade Type" -value $line[2]
  69. }
  70. }
  71. $output = & $racadmpathracadm.exe -r $ip.DRAC_IP -u $username -p $pass getsvctag | select -Skip 8
  72. foreach ($line in $output) {
  73. if ($line -ne "" -And $line -match "Server") {
  74. $line = $line -replace 's+', ','
  75. $line = $line.Split(",")
  76. $object | add-member -MemberType NoteProperty -Name "Blade Service Tag" -value $line[1]
  77. }
  78. }
  79. $output = & $racadmpathracadm.exe -r $ip.DRAC_IP -u $username -p $pass getversion -l -f bios | select -Skip 8
  80. foreach ($line in $output) {
  81. if ($line -ne "") {
  82. $line = $line -replace 's+', ','
  83. $line = $line.Split(",")
  84. $object | add-member -MemberType NoteProperty -Name "BIOS" -value $line[2]
  85. }
  86. }
  87. $output = & $racadmpathracadm.exe -r $ip.DRAC_IP -u $username -p $pass getversion -l -f idrac | select -Skip 8
  88. foreach ($line in $output) {
  89. if ($line -ne "") {
  90. $line = $line -replace 's+', ','
  91. $line = $line.Split(",")
  92. $object | add-member -MemberType NoteProperty -Name "iDRAC" -value $line[2]
  93. }
  94. }
  95. $output = & $racadmpathracadm.exe -r $ip.DRAC_IP -u $username -p $pass getversion -l -f usc | select -Skip 8
  96. foreach ($line in $output) {
  97. if ($line -ne "") {
  98. $line = $line -replace 's+', ','
  99. $line = $line.Split(",")
  100. $object | add-member -MemberType NoteProperty -Name "Unified Server Configurator" -value $line[2]
  101. }
  102. }
  103. $output = & $racadmpathracadm.exe -r $ip.DRAC_IP -u $username -p $pass getversion -l -f diag | select -Skip 8
  104. foreach ($line in $output) {
  105. if ($line -ne "") {
  106. $line = $line -replace 's+', ','
  107. $line = $line.Split(",")
  108. $object | add-member -MemberType NoteProperty -Name "32-bit Diagnostics" -value $line[2]
  109. }
  110. }
  111. $output = & $racadmpathracadm.exe -r $ip.DRAC_IP -u $username -p $pass getversion -l -f drivers | select -Skip 8
  112. foreach ($line in $output) {
  113. if ($line -ne "") {
  114. $line = $line -replace 's+', ','
  115. $line = $line.Split(",")
  116. $object | add-member -MemberType NoteProperty -Name "OS Driver Package" -value $line[3]
  117. }
  118. }
  119. $output = & $racadmpathracadm.exe -r $ip.DRAC_IP -u $username -p $pass getversion -l -f nic | select -Skip 8
  120. foreach ($line in $output) {
  121. if ($line -ne "" -ANd $line -match "server") {
  122. $line = $line -replace 's+', ','
  123. $line = $line.Split(",")
  124. $object | add-member -MemberType NoteProperty -Name "NIC Type" -value $line[1]
  125. $object | add-member -MemberType NoteProperty -Name "NIC FW Version" -value $line[9]
  126. }
  127. }
  128. $output = & $racadmpathracadm.exe -r $ip.DRAC_IP -u $username -p $pass getversion -l -f raid | select -Skip 8
  129. foreach ($line in $output) {
  130. if ($line -ne "" -ANd $line -match "Controller 0") {
  131. $line = $line -replace 's+', ','
  132. $line = $line.Split(",")
  133. $object | add-member -MemberType NoteProperty -Name "PERC H700 Modular" -value $line[6]
  134. }
  135. }
  136. $output = & $racadmpathracadm.exe -r $ip.DRAC_IP -u $username -p $pass getversion -c | select -Skip 8
  137. foreach ($line in $output) {
  138. if ($line -ne "" -ANd $line -match "server") {
  139. $line = $line -replace 's+', ','
  140. $line = $line.Split(",")
  141. $object | add-member -MemberType NoteProperty -Name "CPLD Version" -value $line[1]
  142. }
  143. }
  144. $output = & $racadmpathracadm.exe -r $ip.DRAC_IP -u $username -p $pass getkvminfo | select -Skip 8
  145. foreach ($line in $output) {
  146. if ($line -ne "") {
  147. $line = $line -replace 's+', ','
  148. $line = $line.Split(",")
  149. $object | add-member -MemberType NoteProperty -Name "iKVM FW Version" -value $line[5]
  150. }
  151. }
  152. $arrayobj += $object
  153. }
  154. $MyCollection += $arrayobj
  155. $MyCollection | Export-Csv "C:FWReportCHBLD.csv" -UseCulture -NoTypeInformation
  156.  
  157. $output = & $racadmpathracadm.exe -r $ip.DRAC_IP -u $username -p $pass getchassiname | select -Skip 8
  158. foreach ($line in $output) {
  159. if ($line -ne "") {
  160. $line = $line -split 's+'
  161. $object | add-member -MemberType NoteProperty -Name "Chassis Name" -value $line[0]
  162. break
  163. }
  164. }
  165.  
  166. $prop = 'ChassisName'
  167. if ($object.psobject.properties[$prop]) {
  168. $object.$prop += $line[0]
  169. }
  170. else {
  171. $object | add-member -MemberType NoteProperty -Name $prop -value $line[0]
  172. }
  173.  
  174. $MyCollection = @()
  175. foreach ($ip in $ipchbld) {
  176. $object = New-Object PSObject -Property @{
  177. ChassisSlot=$ip.Chassis_Slot
  178. ChassisIP=$ip.DRAC_IP
  179. ChassisName=''
  180. ChassisSvcTag=@('')
  181. CMC=@('')
  182. CMCVersion=@('')}
  183.  
  184. & $racadmpathracadm.exe -r $ip.DRAC_IP -u $username -p $pass getchassisname |
  185. Select -Skip 8 | Where {$_} |
  186. Foreach {$object.ChassisName = ($_ -replace 's+',',' -split ',')[0]}
  187.  
  188. & $racadmpathracadm.exe -r $ip.DRAC_IP -u $username -p $pass getsvctag |
  189. Select -Skip 8 | Where {$_ -match 'Chassis'} |
  190. Foreach {$object.ChassisSvcTag += ($_ -replace 's+',',' -split ',')[1]}
  191.  
  192. & $racadmpathracadm.exe -r $ip.DRAC_IP -u $username -p $pass getversion |
  193. Select -Skip 60 | Where {$_} |
  194. Foreach {$object.CMC += ($_ -replace 's+',',' -split ',')[0]}
  195.  
  196. & $racadmpathracadm.exe -r $ip.DRAC_IP -u $username -p $pass getversion |
  197. Select -Skip 60 | Where {$_} |
  198. Foreach {$object.CMCVersion += ($_ -replace 's+',',' -split ',')[1]}
  199.  
  200. $MyCollection += $object
  201. }
  202.  
  203. $MyCollection
  204. $MyCollection | Export-Csv "C:UsersFWReportCHBLD.csv" -UseCulture -NoTypeInformation
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement