Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- $CSVInfo =@()
- Try {
- $ips = Get-Content "DRACIP.txt" -ErrorAction stop
- } Catch {
- write-output "Input File DRACIP.txt Not Found "
- break
- }
- $FWPath = "D:DELLDRAC FirmwareUpdatesIDRAC6firmimg.d6"
- $user = Read-Host "Enter Drac User"
- $pass = Read-Host -assecurestring "Enter Drac Password"
- $pass = [System.Runtime.InteropServices.Marshal]::PtrToStringAuto([System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($pass))
- If ($User -eq $Null -or $Pass -eq $Null) {
- Write-output "Invalid Username or password"
- break
- }
- foreach ($IP in $IPS) {
- $Allinfo = racadm -r $IP -u $user -p $pass getsysinfo
- $FWVersion = $Allinfo | Where-Object { $_.contains("Firmware Version")}
- $FWVersion = $FWVersion.split()[-1]
- If ($FWVersion -le "03.80") {
- try {
- $Output = cmd /c "racadm.exe -r $IP -u $user -p $pass fwupdate -p -u -d $FWPath"
- $Stat = "Updated"
- } catch {
- $Stat = "Error Updating firmware"
- }
- } else {
- Write-Host "$IP : No need update FW Version : $FWVersion "
- $Stat = "No Update Required"
- }
- $CSVInfo += "{0},{1},{2}" -f $IP, $FWVersion, $Stat
- }
- ConvertFrom-Csv -Header "IP Address", "Firmware Version", "FW Update Status" -inputobject $CSVInfo | Export-CSV "FWStatus.csv" -notypeinfo
Add Comment
Please, Sign In to add comment