Frage : Den powershell Index, um zu einer Akte eher als aktualisierend zu schreiben zum Computergegenstand ändern.

Hallo,

Change der powershell Index, zum zu einer Akte eher als, zum Computer object.
Can jedermann Hilfe bei der Änderung aktualisierend, zu schreiben, um this.

Computername zu tun: (Kontakte: Tage 0) (online: 138.22 Stunden)

Regards
Sharath
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:
6:
$DomainControllers = „in1“

Computers = @ {}
$DomainControllers | ForEach-Gegenstand {
  Erhalten-QADComputer - SearchRoot „Developmuk/Countries/ID/Chi/Virines“ - instandhalten $ _ - SizeLimit 0 - IncludedProperties LastLogon | `
    Vorwählen-Gegenstand Name, DN, LastLogon | ForEach-Gegenstand { 
      Wenn (Computers.$ ($_.DN)) {
        Computers.$ ($_.DN) = $ _ | Vorwählen-Gegenstand Name, DN, `
          @ {n='LastLogon'; e= { 
            Wenn ($_.LastLogon - GT Computers.$ ($_.DN) .LastLogon) { 
              $_.LastLogon 
            } Sonst { 
              Computers.$ ($_.DN) .LastLogon 
            }}}
      } Sonst {
        Computers.Add ($_.DN, $_)
      }
    }
}

Computers.Values | ForEach-Gegenstand {
  $LastLogon = (Neu-Zeitspanne $_.LastLogon). Tage

  Wenn (Test-Anschluss $_.Name - ruhig - Zählimpuls 1) {
    $LastBootUpTime = (Win32_OperatingSystem Erhalten-WmiObject - Computer $_.Name), .LastBootUpTime
    Wenn ($LastBootUpTime - Ne $Null) {
      $LastBootUpTime = [Management.ManagementDateTimeConverter]:: ToDateTime ($LastBootUpTime)

      $Online = [Mathe]:: Rund ((Neu-Zeitspanne $LastBootUpTime) .TotalHours, 2)
    }
  } Sonst {
    $Online = 0
  }

  Einstellen-QADComputer $_.DN - Beschreibung „(Kontakte: $LastLogon Tage) (online: $Online Stunden)“
}

Antwort : Den powershell Index, um zu einer Akte eher als aktualisierend zu schreiben zum Computergegenstand ändern.


Ah traurig, Vermisste ein Closing „.

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:
6:
$DomainControllers = „in1“

Computers = @ {}
$DomainControllers | ForEach-Gegenstand {
  Erhalten-QADComputer - SearchRoot „Developmuk/Countries/ID/Chi/Virines“ - instandhalten $ _ - SizeLimit 0 - IncludedProperties LastLogon | `
    Vorwählen-Gegenstand Name, DN, LastLogon | ForEach-Gegenstand { 
      Wenn (Computers.$ ($_.DN)) {
        Computers.$ ($_.DN) = $ _ | Vorwählen-Gegenstand Name, DN, `
          @ {n='LastLogon'; e= { 
            Wenn ($_.LastLogon - GT Computers.$ ($_.DN) .LastLogon) { 
              $_.LastLogon 
            } Sonst { 
              Computers.$ ($_.DN) .LastLogon 
            }}}
      } Sonst {
        Computers.Add ($_.DN, $_)
      }
    }
}

Computers.Values | ForEach-Gegenstand {
  $LastLogon = (Neu-Zeitspanne $_.LastLogon). Tage

  Wenn (Test-Anschluss $_.Name - ruhig - Zählimpuls 1) {
    $LastBootUpTime = (Win32_OperatingSystem Erhalten-WmiObject - Computer $_.Name), .LastBootUpTime
    Wenn ($LastBootUpTime - Ne $Null) {
      $LastBootUpTime = [Management.ManagementDateTimeConverter]:: ToDateTime ($LastBootUpTime)

      $Online = [Mathe]:: Rund ((Neu-Zeitspanne $LastBootUpTime) .TotalHours, 2)
    }
  } Sonst {
    $Online = 0
  }

  $ _ | Vorwählen-Gegenstand Name, @ {n='LastLogon'; e= {$LastLogon}},  @ {n='Online'; e= {$Online}}
} | „Report.csv“ Exportieren-Csv
Weitere Lösungen  
 
programming4us programming4us