PowerShell이 실패하고 업데이트가 발생함
가 행할때실을 할 때.Update-Help파워셸에서는 실패합니다.저는 대리인을 통하지 않습니다.직접 액세스입니다.저는 또한 관리자로서 Powershell을 운영하고 있습니다.또 무엇을 확인해야 할지 모르겠습니다...어떤 조언이든 환영합니다.
여기 제 버전이 있습니다.
$PSVersionTable
Name Value
---- -----
PSVersion 5.1.14393.187
PSEdition Desktop
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
BuildVersion 10.0.14393.187
CLRVersion 4.0.30319.42000
WSManStackVersion 3.0
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
다음은 오류입니다.
PS C:\Windows> Update-Help
Update-Help : Failed to update Help for the module(s) :
'AppBackgroundTask, AppLocker, AppvClient, Appx, AssignedAccess, BitLocker, BitsTransfer, BranchCache, CimCmdlets, ConfigCI, Defender, DirectAccessClientComponents, Dism,
DnsClient, EventTracingManagement, International, iSCSI, ISE, Kds, Microsoft.PowerShell.Archive, Microsoft.PowerShell.Core, Microsoft.PowerShell.Diagnostics,
Microsoft.PowerShell.Host, Microsoft.PowerShell.LocalAccounts, Microsoft.PowerShell.Management, Microsoft.PowerShell.ODataUtils, Microsoft.PowerShell.Security,
Microsoft.PowerShell.Utility, Microsoft.WSMan.Management, MMAgent, MsDtc, MSMQ, NetAdapter, NetConnection, NetEventPacketCapture, NetLbfo, NetNat, NetQos, NetSecurity,
NetSwitchTeam, NetTCPIP, NetworkConnectivityStatus, NetworkSwitchManager, NetworkTransition, PackageManagement, PcsvDevice, PKI, PnpDevice, PowerShellGet, PrintManagement,
PSDesiredStateConfiguration, PSReadline, PSScheduledJob, PSWorkflow, PSWorkflowUtility, ScheduledTasks, SmbShare, SmbWitness, StartLayout, Storage, TLS, TroubleshootingPack,
TrustedPlatformModule, UEV, VpnClient, Wdac, WindowsDeveloperLicense, WindowsErrorReporting, WindowsSearch, WindowsUpdate'
Access is denied. The command could not update Help topics for the Windows PowerShell core modules, or for any modules in the $pshome\Modules directory. To update these Help
topics, start Windows PowerShell by using the "Run as Administrator" command, and try running Update-Help again.
At line:1 char:1
+ Update-Help
+ ~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [Update-Help], Exception
+ FullyQualifiedErrorId : UpdatableHelpSystemRequiresElevation,Microsoft.PowerShell.Commands.UpdateHelpCommand
Update-Help : Failed to update Help for the module(s) 'Microsoft.PowerShell.Operation.Validation' with UI culture(s) {en-US} : The value of the HelpInfoUri key in the module
manifest must resolve to a container or root URL on a website where the help files are stored. The HelpInfoUri 'https://www.msn.com/?ocid=NEFLS000' does not resolve to a
container.
At line:1 char:1
+ Update-Help
+ ~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [Update-Help], Exception
+ FullyQualifiedErrorId : InvalidHelpInfoUri,Microsoft.PowerShell.Commands.UpdateHelpCommand
Update-Help : Failed to update Help for the module(s) 'SecureBoot' with UI culture(s) {en-US} : Unable to retrieve the HelpInfo XML file for UI culture en-US. Make sure the
HelpInfoUri property in the module manifest is valid or check your network connection and then try the command again.
At line:1 char:1
+ Update-Help
+ ~~~~~~~~~~~
+ CategoryInfo : ResourceUnavailable: (:) [Update-Help], Exception
+ FullyQualifiedErrorId : UnableToRetrieveHelpInfoXml,Microsoft.PowerShell.Commands.UpdateHelpCommand
ㅠㅠUpdate-Help대부분 업데이트가 되는 것 같아요.저는 이 오류들만 받습니다.
Update-Help : Failed to update Help for the module(s) 'Microsoft.PowerShell.Operation.Validation' with UI culture(s) {en-US} : The value of the HelpInfoUri
key in the module manifest must resolve to a container or root URL on a website where the help files are stored. The HelpInfoUri
'https://www.msn.com/?ocid=NEFLS000' does not resolve to a container.
At line:1 char:1
+ Update-Help
+ ~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [Update-Help], Exception
+ FullyQualifiedErrorId : InvalidHelpInfoUri,Microsoft.PowerShell.Commands.UpdateHelpCommand
Update-Help : Failed to update Help for the module(s) 'AppvClient' with UI culture(s) {en-US} : Help content cannot be found. Make sure the server is
available and the help content location is properly defined in the HelpInfo XML.
At line:1 char:1
+ Update-Help
+ ~~~~~~~~~~~
+ CategoryInfo : ResourceUnavailable: (:) [Update-Help], Exception
+ FullyQualifiedErrorId : HelpContentNotFound,Microsoft.PowerShell.Commands.UpdateHelpCommand
Update-Help : Failed to update Help for the module(s) 'SecureBoot' with UI culture(s) {en-US} : Unable to retrieve the HelpInfo XML file for UI culture en-US.
Make sure the HelpInfoUri property in the module manifest is valid or check your network connection and then try the command again.
At line:1 char:1
+ Update-Help
+ ~~~~~~~~~~~
+ CategoryInfo : ResourceUnavailable: (:) [Update-Help], Exception
+ FullyQualifiedErrorId : UnableToRetrieveHelpInfoXml,Microsoft.PowerShell.Commands.UpdateHelpCommand
TL;DR 및 해결 방법
몇 년이 지난 지금도 대부분의 사용자에게 문제가 되고 있습니다.저는 여기서 자세히 설명해야겠다고 생각했습니다.
두 가지 문제:
Update-Help관리자 권한으로 실행할 수 있는 PowerShell 필요- Microsoft는 모든 시스템에 오류를 발생시키는 업데이트 링크를 중단했습니다.현재까지 귀하가 언급한 특정 모듈에서 오류가 계속 발생하고 있습니다.
첫 번째 오류는 노골적이고 직접적이며, 이 출력은 첫 번째 오류 출력에 직접 포함됩니다.
Access is denied. The command could not update Help topics for the Windows PowerShell core modules, or for any modules in the $pshome\Modules directory. To update these Help
topics, start Windows PowerShell by using the "Run as Administrator" command, and try running Update-Help again.
관리자 권한으로 실행을 통해 시작된 PowerShell 콘솔에서 다음을 실행하여 오류를 억제하고 가능한 모든 내용을 다운로드할 수 있습니다.
Update-Help -Verbose -Force -ErrorAction SilentlyContinue
OR
Update-Help -Verbose -Force -ErrorAction SilentlyContinue -ErrorVariable UpdateErrors
PS 읽기 라인 수정
편집(09/01/2021): PSReadLine 중 에는 특정 을 사용할 수 . 수정하려는 모듈 중 하나일 경우 다음과 같은 방법이 있습니다.
이름 바꾸기C:\Program Files\WindowsPowerShell\Modules\PSReadlineC:\Program Files\WindowsPowerShell\Modules\PSReadLine(이는 대소문자를 구분하기 때문에 PSReadLine이 아니라 PSReadLine이 필요하기 때문입니다.)
하지만 더 많은 것이 필요할 수도 있습니다.다음은 블로그 게시물 중 하나의 전체 과정입니다.
-
powershell.exe과정.그런 다음 이름을 변경합니다.PSReadlineto 모듈이름더PSReadLine. - 기를 .
powershell.exe세션이 관리자 권한에 있습니다. - 려달을 합니다.
Remove-Module PSReadLine자동 로드된 PSReadLine 모듈을 제거합니다. - 려달을 합니다.
Import-Module PSReadLine(대문자 L과 함께 PSReadLine 사용). - 다음 그럼실을 실행합니다.
Update-Help -Module PSReadLine -Force
에 PSReadLinefix: 수정:
- https://devblogs.microsoft.com/powershell/updating-help-for-the-psreadline-module/
- https://devblogs.microsoft.com/powershell/updating-help-for-the-psreadline-module-in-windows-powershell-5-1/
해결 방법/해결 방법 설명
은 의설입다에 입니다.
Update-Help -Verbose -Force -ErrorAction SilentlyContinue -ErrorVariable UpdateErrors모듈에 모듈에 대해 및 이유는 다음과 같습니다. 모듈에 대해 수행해야 하는Update-Help자체로
의 도움말 문서에서 관리자 권한이 필요한 이유는 다음과 같습니다.
업데이트-도움말에는 관리자 권한이 필요합니다.
PowerShell Core 모듈의 도움말 파일을 업데이트하려면 컴퓨터의 관리자 그룹에 속해 있어야 합니다.
PowerShell Core 모듈을 포함하여 PowerShell 설치 디렉토리($PSHOME\Modules)에 있는 모듈에 대한 도움말 파일을 다운로드하거나 업데이트하려면 관리자 권한으로 실행 옵션을 사용하여 PowerShell을 시작합니다.예: Start-Process powershell.exe -Verb RunAs.
윈도우즈 PowerShell ISE(통합 스크립팅 환경)의 도움말 메뉴에 있는 윈도우즈 PowerShell 도움말 업데이트 메뉴 항목을 사용하여 도움말 파일을 업데이트할 수도 있습니다.
윈도우즈 PowerShell 도움말 업데이트 항목은 매개 변수 없이 Update-Help cmdlet을 실행합니다.$PSHOME 디렉터리에 있는 모듈에 대한 도움말을 업데이트하려면 관리자 권한으로 실행 옵션을 사용하여 Windows PowerShell ISE를 시작합니다.
사용된 파라미터의 경우:
-Force는 다음에 대한 설명서에서 직접 인용한 몇 가지 사항을 의미합니다.
이 cmdlet이 하루에 한 번만 제한을 따르지 않고 버전 확인을 건너뛰고 1GB 제한을 초과하는 파일을 다운로드함을 나타냅니다.
이 매개 변수가 없으면 Update-Help는 24시간마다 한 번만 실행됩니다.다운로드는 모듈당 압축되지 않은 콘텐츠의 1GB로 제한되며 도움말 파일은 컴퓨터의 기존 파일보다 최신일 때만 설치됩니다.
1일 1회 제한은 도움말 파일을 호스팅하는 서버를 보호하고 반복적인 연결 또는 다운로드에 따른 리소스 비용 없이 Update-Help 명령을 PowerShell 프로필에 추가하는 데 유용합니다.
-Verbose업데이트를 시도하는 모듈, 해결 중인 URI 등을 설명하는 노란색 텍스트의 벽을 제공한다는 의미는 다음과 같습니다.-ErrorVariable UpdateErrors에서는 오류를 할 수 합니다.$UpdateErrors-ErrorAction SilentlyContinue합니다.
오류를 억제하는 것이 해결책으로 간주되는 이유에 대해 의문을 가질 수 있습니다.그 이유는 다음과
- 이 명령을 실행하는 스크립트가 있는 경우 이러한 오류로 인해 스크립트가 종료되지 않도록 할 수 있습니다.
- 도움말을 다운로드하지 못한 모듈에 대한 오류만 억제하고 다른 모든 모듈에 대한 도움말은 다운로드합니다.
- 가 여전히, 최소한 는 오가여전조기를경우, 최오내사수있다 할 수 .
$UpdateErrors파일에 저장하거나 다른 방법으로 처리할 수 있습니다. - 발생하는 오류를 진정으로 해결하려면 Microsoft에서 자체 도움말 문서 끝점을 수정하는 작업을 수행해야 합니다.
잠깐만요, 그런데 왜 이게 마이크로소프트의 문제죠?
다음은 최신 Windows 10 시스템(2019년 4분기 / 2020년 1분기 기준)의 예입니다.
$PSVersionTable
Name Value
---- -----
PSVersion 5.1.18362.145
PSEdition Desktop
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
BuildVersion 10.0.18362.145
CLRVersion 4.0.30319.42000
WSManStackVersion 3.0
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
Get-WmiObject win32_operatingsystem | select Caption, Version
Caption Version
------- -------
Microsoft Windows 10 Pro 10.0.18363
사용하는 이 풍부한 사용자는 PowerShell을 하십시오.Update-Help도움말 문서 업데이트의 첫 번째 단계에서 발생하는 오류는 주요 원인이 되고 혼란이 발생합니다.대부분의 오류는 사용자 측의 잘못된 구성이 아닙니다. 하지만 안타깝게도 지난 몇 년간 명령 출력의 기본값이자 지속적인 예상치였습니다.
예, 해결 명령이 작동합니다.그러나 사람들이 오류 출력을 억제하고 계속 진행함으로써 내장된 명령을 실행하는 방향으로 나아가고 있다면, 이는 좋지 않은 고객 경험입니다(그리고 다른 오류가 발생하는 경우 사람들을 가르치는 최선의 방법이 아닐 수도 있습니다).오류를 억제하는 것이 사람들에게 남은 전부입니다.심지어 2016년부터 가장 높은 투표율을 기록한 답변:
다음과 관련된 업데이트 오류에 대해 승인된 답변(승인된 답변이 아닐 수 있음)으로 표시되어 있음을 유의하십시오.HelpInfoUri다음과 같이 말합니다.
이를 위해서는 MS 지원부에 문의해야 할 것 같습니다.
이 문제는 사용자의 기계와 설치에 있으며 사용자는 도움을 받을 수 있도록 지원을 받아야 합니다.우리가 할 수 있는 유일한 제안은 윈도우를 다시 설치하는 것이라고 생각합니다. (!!
말도 안 되는 소리!이 오류가 발생하면 다시 설치하지 마십시오! 사용자가 다음 문제 때문에 다시 설치하지 않았기를 바랍니다.HelpInfoUri
이 GitHub 문제가 이 계속되는 문제를 해결하기 위해 직접적으로 초점을 맞춘 SamBin에 의해 언급된 것처럼,HelpInfoURIMicrosoft가 PowerShell 매니페스트 파일에서 설정한 값은 다음과 같습니다.
이 컴퓨터의 Module Manifest for Windows Update Provider는 "Microsoft Corporation" 이상의 속성을 제공하지 않지만 다음을 지정합니다.
HelpInfoUrihttps://go.microsoft.com/fwlink/ ?linkid=slink794를 사용하므로 모듈의 출처를 파악하는 데 시간을 허비할 필요가 없으며, Windows Update Provider에 패치를 발급해야 하는 경우가 발생합니다. 리디렉션을 적절한 위치로 지정하기만 하면 됩니다.
시스템에서 다음을 실행하는 경우Update-Help오류가 나타나면 다음과 같이 출력됩니다.
Import-Module WindowsUpdateProvider
Get-Module WindowsUpdateProvider | select HelpInfoURI,Version
HelpInfoUri Version
----------- -------
https://go.microsoft.com/fwlink/?linkid=390794 1.0.0.2
예를 들어 Windows Update Provider의 소스 모듈 매니페스트는 다음 위치에 있습니다.
C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules\WindowsUpdateProvider\WindowsUpdateProvider.psd1
Microsoft는 작동 중인 링크를 확실하게 리디렉션할 수 있습니다.HelpInfoUri그 말은 클라이언트 쪽에 변화가 없다는 것을 의미합니다.
참고로, 사람들은 다음을 사용합니다.-ErrorAction SilentlyContinue일반적으로 몇몇 다른 모듈의 도움말이 손상되었습니다.현재 표준 Windows 10 데스크톱에서는 다음과 같은 문제가 발생하고 있습니다.
$TestModules = @("Microsoft.PowerShell.ODataUtils", "Microsoft.PowerShell.Operation.Validation", "UEV", "Whea", "WindowsDeveloperLicense", "defender", "configdefender", "appvclient")
Import-Module $TestModules
$BorkedHelp = Get-Module $TestModules | select Name, Version, HelpInfoUri
$BorkedHelp
Name Version HelpInfoUri
---- ------- -----------
appvclient 1.0.0.0 https://go.microsoft.com/fwlink/?LinkId=403112
configdefender 1.0 https://go.microsoft.com/fwlink/?linkid=390762
defender 1.0 https://go.microsoft.com/fwlink/?linkid=390762
Microsoft.PowerShell.ODataUtils 1.0 https://go.microsoft.com/fwlink/?LinkId=509916
Microsoft.PowerShell.Operation.Validation 1.0.1 https://go.microsoft.com/fwlink/?LinkId=808399
UEV 2.1.639.0 https://go.microsoft.com/fwlink/?LinkId=826061
Whea 2.0.0.0 https://go.microsoft.com/fwlink/?linkid=390848
WindowsDeveloperLicense 1.0.0.0 https://go.microsoft.com/fwlink/?linkid=285578
foreach ($uri in $BorkedHelp.helpinfouri) {Invoke-WebRequest $uri}
붉은 바다에 오신 것을 환영합니다.404 - File or directory not found.오류, 모든 엔드포인트를 리디렉션해야 합니다.현재로서는 몇 년 동안 중단된 엔드포인트도 있는 반면, 더 적은 비용으로 중단된 엔드포인트도 있습니다.
링크 포워딩과 관련하여 어떤 공구를 사용하든 Microsoft가 수정할 수 있어야 합니다. 단, 모듈 매니페스트를 업데이트하여 새로 작동하는 경우는 예외입니다.HelpInfoURI엔드포인트, 모든 사용자에게 덜 친숙한 옵션입니다.
Microsoft의 문제가 기본적으로 다운로드할 수 있는 설명서가 없고 링크가 나중에 다운로드할 설명서가 있을 때 사용할 자동 생성 예약인 경우에는 최소한의 문서가 있어야 합니다.HelpInfoURI중단된 엔드포인트 대신 엔드포인트.
Microsoft의 인지도 향상
이 문제가 발생하여 이 설명이 도움이 되는 사용자는 GitHub에서 이 문제를 방문해야 합니다. MicrosoftDocs/windows-powershell-docs: Windows UpdateProvider에 대한 Update-Help 실패
편집(09/01/2021):위의 문제는 그 이후로 종결되었으며 Microsoft는 더 이상 피드백에 UserVoice를 사용하지 않습니다(문제가 종결되었을 때 적절한 위치로 언급됨).Microsoft Tech Community를 방문하는 것이 가장 좋은 방법인 것 같습니다. UserVoice 관련 Microsoft 지원 문서의 공지로 인해 PowerShell:
참고: 2021년 한 해 동안 제품별로 UserVoice 피드백 사이트에서 벗어날 예정입니다.NAT은 고객 피드백을 위해 타사 솔루션을 활용할 것입니다.참조
문제가 있는 PowerShell 모듈 중 공용 저장소가 있는 모듈이 있는 경우 이 모듈이 고장 시 문제를 제기하기에 적합합니다.Update-Help기성능 함께 인 경우 대한 .Microsoft 제품과 함께 제공되는 PowerShell 모듈인 경우 제품 자체에 대한 보고서를 통해 문제를 제기해야 합니다.
대안적인 해결책
끝점이 손상된 는 PowerShell에서 설명할 수도 .HelpInfoURIPowerShell 매니페스트의 값입니다.Update-Help에 대한 합니다.HelpInfoURI값이 있습니다.때오류가 했을 때 이 될 수 예 이는엔드문발새오지여는부다있수니습될생했류가로도생데운발이여는움확하제인트포에가인하▁a▁as▁this▁(▁hassuch▁endpoint▁be▁could▁if▁a다).HelpInfoURI자체 모듈 설명서 호스팅).
해결 방법:
Update-Help -Verbose -Force -ErrorAction SilentlyContinue
-verbose 명령을 합니다.-force합니다.-ErrorAction SilentlyContinue위와 같은 비슷한 일을 할 것입니다.
즉, 이전에 업데이트되지 않은 모듈이 여전히 업데이트되지 않습니다.
업데이트-도움말이 처음에는 실패했지만 관리자로 실행되면 성공했습니다.
언급URL : https://stackoverflow.com/questions/39834452/powershell-fails-with-update
'programing' 카테고리의 다른 글
| Progressive Enhancement란 무엇입니까? (0) | 2023.08.20 |
|---|---|
| AJAX 요청이 "302 Moved" 응답을 받으면 어떻게 됩니까? (0) | 2023.08.20 |
| 각도 설계 패턴: MVC, MVVM 또는 MV*? (0) | 2023.08.20 |
| 데이터베이스 이름 규칙: DATTIME 열 (0) | 2023.08.20 |
| macOS에서 Docker 데몬에 연결할 수 없음 (0) | 2023.08.20 |