PS 원격 세션에서 서버 코어에서 Windows Update를 시작하는 방법은 무엇입니까?


8

Windows Server 2012 R2 Core 컴퓨터에서 원격 데스크톱을 통해 로그인하면 sconfig.cmd를 실행하여 Windows 업데이트를 트리거 할 수 있습니다. 그러나 PS 원격 세션 내에서 호출되면 실패합니다.

Enter-PSSession -ComputerName server2

이것이 sconfig가 불평하는 것입니다. 기본적으로 특정 레지스트리 값을 찾을 수 없다고 말합니다. 재미있는 점은 Microsoft가이 CLI 인터페이스를 프로그래밍하기 위해 PowerShell 대신 VBScript를 선택한다는 것입니다.

[server2]: PS C:\> sconfig

C:\>echo off
sconfig : FEHLER: Der angegebene Registrierungsschl?ssel bzw. Wert wurde nicht gefunden.
    + CategoryInfo          : NotSpecified: (FEHLER: Der ang...nicht gefunden.:String) [], RemoteException
    + FullyQualifiedErrorId : NativeCommandError

Microsoft (R) Windows Script Host, Version 5.8
Copyright (C) Microsoft Corporation. Alle Rechte vorbehalten.

System wird ?berpr?ft...

[...]

14) Server herunterfahren
15) Zur Befehlszeile wechseln

C:\Windows\System32\de-DE\sconfig.vbs(326, 1) Laufzeitfehler in Microsoft VBScript: Eingabe hinter Dateiende.

PS 원격 세션을 통해 로그인 할 때 어떻게 Windows Update를 시작해야합니까?


2
독일어를 읽지는 않지만 권한 / 액세스 거부 메시지입니까? 문제의 사실은 SCCM이나 WSUS와 같은 것없이 Windows Update를 원격으로 설치하는 것은 큰 고통입니다. 필자가 실제로 본 모든 방법은 PSexec (또는 이와 유사한)를 사용하여 로컬 컴퓨터에서 명령을 실행하지만 원격 컴퓨터에서 실행합니다. SCCM없이 이러한 종류의 작업을 수행해야 할 때 WuInstall 또는 BatchPatch를 사용한다고 생각합니다. Technet에는 이러한 종류의 것들에 대한 PowerShell 모듈도 있습니다. 내 경험에 의하면 매우 부적절합니다. 대부분 미스입니다.
HopelessN00b

3
아, 거의 잊었다. SCCM / WSUS 등을 사용하지 않고 Windows Update를 원격으로 설치하는 데 본 최고의 무료 평가판 / 프리미엄 앱입니다. 이다 PoshPAIG스크립팅 사람은 체크 아웃 할 수 있습니다 그것에 대해 블로그 글이 있습니다 . 정확히 당신이 찾고있는 것은 아니지만, 자신을 굴리지 않고 얻을 수있는만큼 가깝습니다.
HopelessN00b


@Zoredache 그러나 거기에 대한 답변은 빨라집니다. 너의 것이 훨씬 낫다. 그리고 나는 이것만을 근거로 이것을 끝내기 위해 투표하지 않을 것이다.
HopelessN00b 2011

답변:


7

실제로 winrm / winrs를 통해 직접 트리거 할 수는 없습니다.

Powershell에서 Windows Update를 수행하기 위해 다소 널리 사용되는 powershell 모듈 이 있으며 원격 시스템에서 업데이트를 수행하기 위해 실제로 모듈을 원격 시스템에 복사하고 원격 시스템에서 새로운 일회성 작업을 예약합니다.

invoke-WUInstall.ps1 파일에는 업데이트를 원격으로 트리거하는 방법에 대한 설명이 있습니다.

Invoke-WUInstall을 사용하여 Windows Update 설치를 원격으로 호출하십시오. 원격 컴퓨터-E_ACCESSDENIED에서 CreateUpdateDownloader () 및 CreateUpdateInstaller () 메서드를 호출 할 수 없으므로 TaskScheduler를 기반으로합니다.


1

모든 사람은 마지막 의견의 포스터를 환영합니다. 효과가있다.

pswidowsupdate웹 에서 파일을 가져 와서 압축을 풉니 다. 그런 다음 모듈을 가져 와서이 코드를 실행하십시오 ( invoke-wsuinstall.ps1파일에는 샘플 코드가 있지만 비트를 제거했지만 여전히 작동합니다).

$Script = {Get-WUInstall -AcceptAll -AutoReboot | Out-File C:\PSWindowsUpdate.log}
Invoke-WUInstall -ComputerName computername -Script $Script
Get-Content \ \ computername\c$\PSWindowsUpdate.log
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.