Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst WSUS Konfiguration - Updates sofort laden und installieren wenn VM eingeschaltet wird

Mitglied: Stefan007

Stefan007 (Level 2) - Jetzt verbinden

20.07.2019 um 10:01 Uhr, 325 Aufrufe, 2 Kommentare, 2 Danke

Hi Leute,

ich möchte gerne wissen, ob es möglich ist, dass der WSUS (Vers. 2012R2) bzw. die dazugehörige GPO so konfiguriert werden kann, dass eingeschaltete VMs direkt die Updates (nach dem Hochfahren, ggf. auch ohne Windows Anmeldung) laden und installieren?

Hintergrund:
Ich habe hier ein Testlab mit 10 VMs auf einem HV-Core 2016. Die Betriebssysteme sind von 2012R2 bis 2019 vertreten. Um Zeit zu sparen möchte ich gerne die VMs so konfigurieren, dass die Updates dann eigenständig installiert werden (sollten ). Ein eigenständiger Reboot ist in dem Falle nicht zwingend notwendig.


Gruß,

Stefan
Mitglied: XN04113
LÖSUNG 20.07.2019, aktualisiert um 13:12 Uhr
einfach ein kleines Powershell Script als Startup Task einrichten, mache ich seit Jahren für Testclients so

01.
$ServiceName = "wuauserv"
02.
$count = 1
03.
$maxcount = 10
04.
$sleeptime = 30
05.

06.
$Criteria = "IsInstalled=0 and Type='Software'"
07.

08.
$year = Get-Date -UFormat %Y
09.
$month = Get-Date -UFormat %m
10.
$day = Get-Date -UFormat %d
11.

12.
$sLogPath = "C:\LogFiles"
13.
$sLogName = "WSUSrun" + ".log"
14.
$sLogFile = $sLogPath + "\" + $sLogName
15.

16.
#*****************************************************************************
17.
Function LogWrite
18.
{
19.
	Param ([string]$sLogString)
20.
	
21.
	$time = Get-Date -UFormat %T
22.
	$sLogString = $day + "." + $month + "." + $year + " - " + $time + " * " + $sLogString
23.
	write-host $sLogString
24.
	Add-content $sLogFile -value $sLogString
25.
}
26.
#*****************************************************************************
27.

28.
$string = "--- START ---"
29.
LogWrite $string
30.

31.
$arrService = Get-Service -Name $ServiceName
32.
if ($arrService.Status -ne "Running") {
33.
    $string = "service " + $ServiceName + " not running, starting service..."
34.
    LogWrite $string
35.
    Start-Service $ServiceName
36.
}
37.

38.
Do {
39.
    $string = "checking service, attempt " + $count
40.
    LogWrite $string
41.
    $arrService = Get-Service -Name $ServiceName
42.
    if ($arrService.Status -ne "Running")
43.
    {
44.
        $string = "service not running, sleeping " + $sleeptime + " seconds..."
45.
        LogWrite $string
46.
        Start-Sleep $sleeptime
47.
        $count++
48.
    }
49.
    else
50.
    {
51.
        $string = "service running, final sleep for " + $sleeptime + " seconds..."
52.
        LogWrite $string
53.
        Start-Sleep $sleeptime
54.
        break
55.
    }
56.
} while ($count -le $maxcount)
57.

58.
If ($count -gt $maxcount) {
59.
    $string = "service not running, exitcode 1"
60.
    LogWrite $string
61.
    Exit 1
62.
}
63.

64.
LogWrite "Creating update session"
65.
$Session = New-Object -com "Microsoft.Update.Session"
66.

67.
LogWrite "Searching for updates..."
68.
$Search = $Session.CreateUpdateSearcher()
69.
$SearchResult = $Search.Search($Criteria)
70.
$string = "There are " + $SearchResult.Updates.Count + " updates available"
71.
LogWrite $string
72.

73.
$AvailableUpdates = $SearchResult.Updates 
74.

75.
if($AvailableUpdates.Count -lt 1) {
76.
    LogWrite "No results meet your criteria, disabling scheduled task."
77.
    Disable-ScheduledTask -TaskName "WSUSrun"
78.
    exit 0
79.
}
80.

81.
LogWrite "Updates selected for installation"
82.
$AvailableUpdates | ForEach-Object {
83.
    $string = "- " + $_.Title
84.
    LogWrite $string
85.
    $_.Categories | ForEach-Object {
86.
        $string = "  # category: " + $_.Name.ToString()
87.
        LogWrite $string
88.
    }
89.
}
90.

91.
LogWrite "Creating download selection"
92.
$DownloadCollection = New-Object -com "Microsoft.Update.UpdateColl"
93.

94.
$AvailableUpdates | ForEach-Object {
95.
    if ($_.InstallationBehavior.CanRequestUserInput -ne $TRUE) {
96.
        $DownloadCollection.Add($_) | Out-Null
97.
    }
98.
}
99.

100.
LogWrite "Downloading updates..."
101.
$Downloader = $Session.CreateUpdateDownloader() 
102.
$Downloader.Updates = $DownloadCollection 
103.
$DownloadResult = $Downloader.Download() 
104.
LogWrite "Download complete" 
105.

106.
LogWrite "Creating installation object"
107.
$InstallCollection = New-Object -com "Microsoft.Update.UpdateColl"
108.
$AvailableUpdates | ForEach-Object {
109.
    if ($_.IsDownloaded) {
110.
        $InstallCollection.Add($_) | Out-Null
111.
    }
112.
}
113.

114.
LogWrite "Installing updates..."
115.
$Installer = $Session.CreateUpdateInstaller()
116.
$Installer.Updates = $InstallCollection
117.
$InstallResult = $Installer.Install()
118.
LogWrite "Installation complete"
119.

120.
if ($InstallResult.RebootRequired) {
121.
    LogWrite "Rebooting..."
122.
    Restart-Computer -Computer localhost -Force
123.
}
124.
else {
125.
    LogWrite "No reboot required, scheduled task disabled"
126.
    Disable-ScheduledTask -TaskName "WSUSrun"
127.
	Invoke-Command { wuauclt.exe /detectnow /reportnow}
128.
}
129.

130.
exit 0
Bitte warten ..
Ähnliche Inhalte
Vmware
VMware: VM startet nicht sofort
gelöst Frage von honeybeeVmware3 Kommentare

Hallo, da das hier beschriebene Phänomen wieder aufgetreten ist, muss ich hier noch einmal einen Thread aufmachen :( Folgende ...

Windows Server
Korrekte WSUS Konfiguration ohne AD
Frage von winlinWindows Server3 Kommentare

Hallo Leute ich habe eine AD-lose Landschaft in welcher viele virtuelle Maschinen (W2K12R2) laufen. Nun habe ich einen WSUS ...

Windows Netzwerk
Konfiguration Linux VM in IIS-Manager
Frage von HansWerner1Windows Netzwerk10 Kommentare

Hallo zusammen, folgende Situation: Ich habe derzeit einen angemieteten Windows 2012 R2 Server. Nun habe ich mittels VMware Workstation ...

Windows Server

Korrekte WSUS KMS Konfiguration fuer Systeme ohne Domaenenzugehoerigkeit

gelöst Frage von winlinWindows Server40 Kommentare

Hallo Leute, ich habe viele W2K12R2 Systeme welche aus wichtigen Gründen nicht Teil unserer Domäne sind. Jedoch möchten wir ...

Neue Wissensbeiträge
Humor (lol)

"Linux und 5 Gründe Warum man kein Windows verwenden sollte sondern Ubuntu Linux"

Tipp von Snowbird vor 1 TagHumor (lol)8 Kommentare

Gerade gefunden. Ja, ist etwas älter, aber irgendwie lustig?

Humor (lol)

"Warum Linux in einer vernetzten Welt einfach keinen Komfort bietet!"

Tipp von Snowbird vor 2 TagenHumor (lol)13 Kommentare

Ein interessanter Einblick warum Linux nichts für Geräteübergreifende Arbeit ist :)

Humor (lol)
Zuviel Speicher ist ungesund. :-)
Tipp von Lochkartenstanzer vor 2 TagenHumor (lol)17 Kommentare

Moin Kollegen, Heute hatte ich ein ungewöhnliches Aha-Erlebnis: Über das Wochenende habe ich einen einen 6 Jahre alten Bare-Metal ...

Windows Update

KB4517297 verfügbar, behebt Fehler in VB6 VBA VBScript

Information von sabines vor 2 TagenWindows Update

Das Update behebt mögliche Fehler in VB6, VBA und VBScript, die durch das Update KB4512486 vom August entstanden sind. ...

Heiß diskutierte Inhalte
Router & Routing
Deinstalliertes Geräte wird in FritzBox noch immer als verbundenes Gerät angezeigt
gelöst Frage von imebroRouter & Routing18 Kommentare

Hallo, in meiner FritzBox 7490 wird im Bereich "Funknetz" ein Gereät bei den verbundenen Geräten angezeigt, wobei ich nicht ...

Windows 10
Windows 10 druckt nicht mehrere Kopien?
Frage von StefanKittelWindows 1015 Kommentare

Hallo, ich hatte gerade einen Anruf eines Kunden. Sein neuer PC (Win 10 1903) druckt nicht mehr mehrere Seiten ...

Verschlüsselung & Zertifikate
Mit BitLocker verschlüsselte Festplatte löschen?
gelöst Frage von SnowbirdVerschlüsselung & Zertifikate14 Kommentare

Hallo, ich habe eine mit Bitlocker verschlüsselte externe Festplatte. Diese möchte ich gerne löschen sodass nichts mehr auffindbar ist. ...

Sonstige Systeme
Ist es möglich ein ISDN-Telefon an einen analogen Anschluss anzuschließen?
Frage von cramtroniSonstige Systeme14 Kommentare

Also anders herum geht es ja, da gibt es ja diese Adapter von RJ11 auf TAE-F, aber gibt es ...