Å utvikle en Patch for Utbygging Plan Med PowerShell

0
9

Image credit: dotshock/Shutterstock

Automatisere prosessen med å rulle ut oppdateringer for å spare tid og energi.

Distribusjon av patcher er en oppgave mange IT-administratorer må holde ut hver måned. Det er mange kommersielle verktøy der ute for å lette denne prosessen, men noen er dyre, oppblåst eller overkill for enkel patching som en mindre bedrift kan trenge.

Ved hjelp av PowerShell, kan vi utvikle en oppdatering distribusjon strategi og automatisere prosessen – akkurat som den store verktøy – med litt mer enn noen svette egenkapital og tid.

Forutsetninger

For å sikre at du kan starte med alt konfigurert som trengs, vil du trenge et par ting. Første, du må PowerShell. Vi vil bruke Windows PowerShell 5.1. Jeg antar du allerede har PowerShell Remoting tilgjengelig på alle dine kunder, du har nødvendige rettigheter til å søke etter og installere oppdateringer på systemer, og du er i et Active Directory-miljø, og du har fått Remote Server Administration Tools pakken installert.

Å oppdage miljøet og testing

For å sikre at vi teste den mest betydningsfulle og mest aktuelle eksempel på datamaskiner i nettverket vårt, vi må først identifisere hvilke systemer er ute. Plukke ulike konfigurasjoner for å teste, for eksempel Windows-innstillinger og programvare installert, på tvers av datamaskiner er et organisasjonsmessig valg, men vanligvis er det vi trenger for å finne alle operative systemer vi har for å sikre at oppdateringer ikke bryte disse systemene når distribuert til alle systemer.

Vi kan bruke PowerShell til å spørre våre Active Directory-miljø til å returnere alle grupper av datamaskiner med et bestemt operativsystem. For eksempel, under kode vil gå tilbake to test-systemer av operativsystem på tvers av alle Active Directory datamaskiner.

Produksjonen vil se ut som dette:

Nå som jeg har identifisert de forskjellige operativsystemer, kan jeg enten P2V maskiner eller kanskje bygge nye virtuelle maskiner i hypervisor av valget. Som kan gjøres med PowerShell, men er utenfor omfanget av denne artikkelen, så vil vi anta at du har fått det håndteres.

Distribusjon av oppdateringer

Når du har fått din test systems er definert, vil du trenger for å distribuere sikkerhetsoppdateringer. Men først, som flekker bør distribueres? Det er et par måter å gjøre dette på som er utenfor omfanget av denne artikkelen, kan du for eksempel se på en eksisterende WSUS-server, eller bruke de Få-LatestUpdate PowerShell-skript, men jeg vil la det til deg.

Til å distribuere oppdateringer, er en måte å gjøre det skje med PowerShell er å bruke en ferdig bygde samfunnet modul kalt PSWindowsUpdate som håndterer de aller fleste oppgaver du har å forholde seg til. Du kan installere denne modulen ved hjelp av Installasjons-Modul PSWindowsUpdate.

Den PSWindowsUpdate modulen krever RPC-tilkobling til hver remote system som noen ganger er blokkert som standard på Windows-brannmur. Du kan åpne denne med en GPO eller lignende system management verktøy, men siden vi er i PowerShell, kan vi like godt gå videre og gjøre det også. Du trenger for å kjøre denne kommandoen på hver remote system du har tenkt å patch.

For å sikre PSWindowsUpdate verktøyet kan få tilgang til et eksternt system, bruker jeg en enkel kommando som Få-WUHistory for å se om det gir en feil. Hvis det kommer tilbake patch historie, du er flink til å gå!

Vi kan nå ta i bruk våre oppdateringer. For denne artikkelen, har jeg funnet ut at jeg trenger å teste patch KB4091664. Jeg kan distribuere denne oppdateringen til alle mine test grupper ved først å kopiere modul til hvert system, og deretter kjøre Installere-WindowsUpdate mot hvert system spesifisere KB jeg ønsker å installere, og selv planlegge omstart for to timer etter at plasteret er utplassert.

Dette vil starte oppdateringen installeres på hver datamaskin. For å overvåke fremgangen, kan vi bruke de Få-WUHistory kommando. Under ser du et eksempel utgang hvor en av mine maskiner har startet installasjonen.

Pakk opp

Testing lapper før produksjonen er en nødvendig oppgave, men kan være utsatt for feil. Ved hjelp av et kommersielt verktøy fungerer, men hvis du trenger en enkel løsning for å få jobben gjort og har lite midler, PowerShell er en flott måte å sikre dine systemer ikke gå buken opp kommer tid til å distribuere oppdateringer til produksjon.