Score:0

PoshWSUS - วิธีรับวันที่แก้ไขล่าสุดต่อเซิร์ฟเวอร์

ธง jp

ดังนั้นฉันจึงมีโมดูล PoshWSUS และสคริปต์ที่รันบน WSUS และสร้างไฟล์ CSV ฉันพยายามอัปเดตเพื่อให้มี วันที่แพทช์ล่าสุด คอลัมน์ แต่มีปัญหาในการคิดออก

นำเข้าโมดูล -ชื่อ poshwsus -บังคับ
นำเข้าโมดูล - ชื่อ SysDBApi - บังคับ
นำเข้าโมดูล - ชื่อ EncryptedCredential - บังคับ - ErrorAction หยุด

#รับสิทธิ์
$cred = นำเข้า-Clixml 'E:\WCO\transit.xml'
$SysDBcred = นำเข้า-Clixml 'E:\WCO\SysDBCred.xml'
$UseSSL = $จริง
$พอร์ต = 8530
$Date = รับวันที่ -รูปแบบ dd-MM-yyyy
$Time = รับวันที่ -รูปแบบ HHmmss
$ชื่อไฟล์ = "$($env:COMPUTERNAME)_$($วันที่)_$($เวลา)"


[reflection.assembly]::LoadWithPartialName("Microsoft.UpdateServices.Administration") | ไม่เป็นโมฆะ

เชื่อมต่อ PSWSUSServer -WsusServer $env:COMPUTERNAME -พอร์ต $พอร์ต
$ClientInfoHash = รับ PSWSUSClient | 
    Group-Object - รหัสคุณสมบัติ -AsHashTable -AsString 
$UpdateScope = ใหม่ PSWSUSUpdateScope -UpdateApprovalActions ติดตั้ง -ExcludedInstallationStates ไม่สามารถใช้ได้ 
$Classifications = รับ-PSWSUSClassification | Where-Object {$_.Title -eq "การอัปเดตความปลอดภัย" }
$UpdateScope.Classifications.AddRange($การจัดประเภท)
$WsusData = รับ PSWSUSUpdateSummaryPerClient -UpdateScope $UpdateScope
$WsusData | 
    Select-Object @{name="ชื่อคอมพิวเตอร์";Expression={($ClientInfoHash[$_.ComputerTargetID].FullDomainName).split(".",2) | เลือก - แรก 1}},
                  @{name="ชื่อโดเมน";Expression={
                      ถ้า ( ($ClientInfoHash[$_.ComputerTargetID].FullDomainName).split(".",2)[1])
                      {
                        ($ClientInfoHash[$_.ComputerTargetID].FullDomainName).split(".",2) | เลือก - สุดท้าย 1
                      }
                      อื่น
                      {
                        "กลุ่มงาน"
                      }
                  }},

                  @{name="Customer";Expression={(Get-SysDBHost -Credentials $SysDBcred -ComputerName ( ($ClientInfoHash[$_.ComputerTargetID].FullDomainName).split(".",2) | เลือก -first 1)) .ลูกค้า}},
                  @{name="สถานะการรายงานล่าสุด";Expression={$ClientInfoHash[$_.ComputerTargetID].LastReportedStatusTime}},
                  @{name="Required Updates";expression={$_.needed}}, 
                  @{name="Total Updates";expression={($_.Installed+$_.Needed+$_.PendingReboot+$_.Failed)}}, 
                  @{name="% ของการปฏิบัติตาม";expression={"$([math]::Round((($_.Installed / ($_.Installed+$_.Needed+$_.PendingReboot+$_.Failed)) * 100),0))%"}}, 
                  @{name="ระบบปฏิบัติการ";Expression={$ClientInfoHash[$_.ComputerTargetID].OSDescription}}|
    ส่งออก Csv -เส้นทาง "E:\Reports\$($ชื่อไฟล์)_UpdatesStatus.csv" -NoTypeInformation -เข้ารหัส "utf8" -ตัวคั่น ";" 

บนเซิร์ฟเวอร์ WSUS อื่น เราใช้คำสั่ง sqlcmd และ SQL เพื่อรับข้อมูลนี้ และส่วนที่รับข้อมูลนี้จะมีลักษณะดังนี้:

เลือก LIP.FullDomainName เป็น 'ชื่อเซิร์ฟเวอร์', LIP.GroupName เป็น 'ชื่อกลุ่ม',
LIP.CreationDate เป็น 'วันที่ติดตั้งแพตช์ล่าสุด' กรณีที่ NUP.NumUPatches เป็น NULL แล้ว 0 อื่น ๆ NUP.NumUPatches END เป็น 'จำนวนแพตช์ที่ต้องการ' จาก LATESTINSTPATCH LIP ซ้าย เข้าร่วม NumOfUNINSTPATCH NUP บน LIP.ComputerID=NUP.ComputerID
สั่งซื้อโดย NUP.NumUPatches

ตาม https://docs.microsoft.com/en-us/previous-versions/windows/desktop/bb410149(v=vs.85) มันอยู่ใน PUBLIC_VIEWS.vUpdate แต่จะทำงานกับสิ่งนี้ใน PoshWSUS ได้อย่างไร

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา