Fråga : Powershell skrivar för att uppdatera datorbeskrivningen med kontaktade dagarna för bearbeta med maskin de sist och nr.en av timmar direktanslutet.

Hi

Powershell skrivar för att uppdatera datorbeskrivningen med kontaktade dagarna för bearbeta med maskin de sist, och nr.en av timmar online.
Script som uppdaterar, specificerar
(kontakter för as
: 8 dagar) (direktanslutet: 12 timmar)

Regards
sharath
" klar "

Svar : Powershell skrivar för att uppdatera datorbeskrivningen med kontaktade dagarna för bearbeta med maskin de sist och nr.en av timmar direktanslutet.


Uppdaterat.

Chris
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:
$DomainControllers = ”dc1”, ”dc2”, ”dc3”, ”dc4”,

Computers = @ {}
$DomainControllers | ForEach-Anmärka {
  Få-QADComputer - SearchRoot ”domain.com/Offices” - tjänste- $-_ - SizeLimit 0 - IncludedProperties LastLogon | `,
    Välja-Anmärka känt, DN, LastLogon | ForEach-Anmärka { 
      Om (Computers.$ ($_.DN)) {
        Computers.$ ($_.DN) = $-_, | Välja-Anmärka känt, DN, `,
          @ {n='LastLogon';e= { 
            Om ($_.LastLogon - gt Computers.$ ($_.DN) .LastLogon) { 
              $_.LastLogon 
            } Annars { 
              Computers.$ ($_.DN) .LastLogon 
            }}}
      } Annars {
        Computers.Add ($_.DN, $_)
      }
    }
}

Computers.Values | ForEach-Anmärka {
  $LastLogon = (Ny-TimeSpan $_.LastLogon). Dagar

  Om (Testa-Anslutning $_.Name - tystnaden - räkna 1) {
    $LastBootUpTime = (Få-WmiObject Win32_OperatingSystem - datoren $_.Name), .LastBootUpTime
    Om ($LastBootUpTime - ne $Null) {
      $LastBootUpTime = [Management.ManagementDateTimeConverter]:: ToDateTime ($LastBootUpTime)

      $Online = [Math]:: Runda ((Ny-TimeSpan $LastBootUpTime) .TotalHours, 2)
    }
  } Annars {
    $Online = 0
  }

  Uppsättning-QADComputer $_.DN - Beskrivning ”(kontakter: $LastLogon-dagar) (direktanslutet: $Online-timmar)”,
}
Andra lösningar  
 
programming4us programming4us