Błąd podczas próby połączenia RDP z maszyną wirtualną z systemem Windows na platformie Azure: Korygowanie wyroczni szyfrowania CredSSP

Ten artykuł zawiera rozwiązanie problemu, w którym nie można nawiązać połączenia z maszyną wirtualną przy użyciu protokołu RDP z błędem: Korygowanie wyroczni szyfrowania CredSSP.

Oryginalna wersja produktu: Maszyna wirtualna z systemem Windows
Oryginalny numer KB: 4295591

Uwaga

Czy ten artykuł był pomocny? Twoje dane wejściowe są dla nas ważne. Użyj przycisku Opinie na tej stronie, aby poinformować nas, jak dobrze działa ten artykuł dla Ciebie lub jak możemy go ulepszyć.

Symptomy

Rozpatrzmy następujący scenariusz:

W tym scenariuszu zostanie wyświetlony następujący komunikat o błędzie:

Wystąpił błąd uwierzytelniania. Żądana funkcja nie jest obsługiwana. Komputer zdalny: <nazwa komputera lub adres IP>. Może to być spowodowane korygowania wyroczni szyfrowania CredSSP. W celu uzyskania więcej informacji, zobacz następujący temat: https://go.microsoft.com/fwlink/?linkid=866660.

Jak sprawdzić, czy aktualizacja credSSP jest zainstalowana

Sprawdź historię aktualizacji pod kątem następujących aktualizacji lub sprawdź wersję TSpkg.dll znajdującą się pod adresem %systemroot%\system32.

System operacyjny TSpkg.dll wersji z aktualizacją credSSP Aktualizacja credSSP
Windows 7 Service Pack 1 / Windows Server 2008 R2 Service Pack 1 6.1.7601.24117 KB4103718 (zestawienie miesięczne)
KB4103712 (aktualizacja tylko do zabezpieczeń)
System Windows Server 2012 6.2.9200.22432 KB4103730 (zestawienie miesięczne)
KB4103726 (aktualizacja tylko do zabezpieczeń)
Windows 8.1/Windows Server 2012 R2 6.3.9600.18999 KB4103725 (zestawienie miesięczne)
KB4103715 (aktualizacja tylko do zabezpieczeń)
RS1 — Windows 10 wersja 1607 /Windows Server 2016 10.0.14393.2248 KB4103723
RS2 — Windows 10 wersja 1703 10.0.15063.1088 KB4103731
RS3 — Windows 10 1709 10.0.16299.431 KB4103727

Przyczyna

Ten błąd występuje, jeśli próbujesz ustanowić niezabezpieczone połączenie RDP, a niezabezpieczone połączenie RDP jest blokowane przez ustawienie zasad korygowania oracle szyfrowania na serwerze lub kliencie. To ustawienie definiuje sposób tworzenia sesji RDP przy użyciu dostawcy credSSP oraz określa, czy niezabezpieczony protokół RDP jest dozwolony.

W poniższej tabeli podsumowano zachowanie połączenia RDP na podstawie stanu aktualizacji credSSP i ustawienia zasad CredSSP (wartość AllowEncryptionOracle ):

Stan aktualizacji serwera CredSSP Stan aktualizacji credssp klienta Wymuszanie zaktualizowanych klientów (0) Złagodzone (1) Wrażliwe (2)
Zainstalowana Nie Blokuj Zezwalajna 1 Zezwalaj
Nie Zainstalowana Blok2 Blokuj Zezwalaj
Zainstalowana Zainstalowana Zezwalaj Zezwalaj Zezwalaj

Przykłady

1 Serwer ma zainstalowaną aktualizację CredSSP, a funkcja korygowania oracle szyfrowania jest ustawiona na wartość Mitigated po stronie serwera. Serwer będzie dołączać połączenie RDP od klientów, którzy nie mają zainstalowanej aktualizacji CredSSP.

2 Klient ma zainstalowaną aktualizację CredSSP, a funkcja korygowania oracle szyfrowania jest ustawiona na wartość Wymuszaj zaktualizowanych klientów lub Ograniczanie po stronie klienta. Ten klient nie będzie mógł nawiązać połączenia z serwerem, na którym nie zainstalowano aktualizacji credSSP.

Rozwiązanie

Aby rozwiązać ten problem, zainstaluj aktualizacje credSSP dla klienta i serwera, aby można było ustanowić protokół RDP w bezpieczny sposób. Aby uzyskać więcej informacji, zobacz CVE-2018-0886 | Luka w zabezpieczeniach umożliwiająca zdalne wykonywanie kodu credSSP.

Jak zainstalować tę aktualizację przy użyciu konsoli szeregowej platformy Azure

  1. Zaloguj się do Azure Portal, wybierz pozycję Maszyna wirtualna, a następnie wybierz maszynę wirtualną.

  2. Przewiń w dół do sekcji Pomoc , a następnie kliknij pozycję Konsola szeregowa. Konsola szeregowa wymaga włączenia specjalnej konsoli administracyjnej (SAC) na maszynie wirtualnej z systemem Windows. Jeśli w konsoli programu SAC nie widzisz pliku SAC> (jak pokazano na poniższym zrzucie ekranu), przejdź do sekcji "How to install this update by using Remote PowerShell" (Jak zainstalować tę aktualizację przy użyciu zdalnego programu PowerShell) w tym artykule.

    Zrzut ekranu przedstawiający połączoną platformę SAC.

  3. Wpisz cmd , aby uruchomić kanał z wystąpieniem cmd.

  4. Wpisz ch -si 1 , aby przełączyć się do kanału z uruchomionym wystąpieniem cmd. Otrzymasz następujące dane wyjściowe:

    Zrzut ekranu przedstawiający uruchamianie funkcji CMD w systemie SAC.

  5. Naciśnij klawisz Enter, a następnie wprowadź poświadczenia logowania z uprawnieniami administracyjnymi.

  6. Po wprowadzeniu prawidłowych poświadczeń zostanie otwarte wystąpienie usługi CMD. Zostanie wyświetlone polecenie, w którym można rozpocząć rozwiązywanie problemów.

    Zrzut ekranu przedstawiający sekcję CMD w pliku SAC.

  7. Aby uruchomić wystąpienie programu PowerShell, wpisz PowerShell.

  8. W wystąpieniu programu PowerShell uruchom skrypt konsoli szeregowej na podstawie systemu operacyjnego maszyny wirtualnej. Ten skrypt wykonuje następujące kroki:

    • Utwórz folder, w którym chcesz zapisać plik pobierania.
    • Pobierz aktualizację.
    • Zainstaluj aktualizację.
    • Dodaj klucz luki w zabezpieczeniach, aby umożliwić nie zaktualizowanym klientom łączenie się z maszyną wirtualną.
    • Ponowne uruchamianie maszyny wirtualnej

Jak zainstalować tę aktualizację przy użyciu zdalnego programu PowerShell

  1. Na dowolnym komputerze z systemem Windows z zainstalowanym programem PowerShell dodaj adres IP maszyny wirtualnej do listy "zaufanych" w pliku hosta w następujący sposób:

    Set-item wsman:\localhost\Client\TrustedHosts -value <IP>
    
  2. W Azure Portal skonfiguruj sieciowe grupy zabezpieczeń na maszynie wirtualnej, aby zezwolić na ruch do portu 5986.

  3. W Azure Portal wybierz pozycję Maszyna ><wirtualnamaszyny> wirtualnej, przewiń w dół do sekcji OPERACJE, kliknij polecenie Uruchom, a następnie uruchom polecenie EnableRemotePS.

  4. Na komputerze z systemem Windows uruchom skrypt zdalnego programu PowerShell dla odpowiedniej wersji systemowej maszyny wirtualnej. Ten skrypt wykonuje następujące kroki:

    • Połącz się z zdalnym programem PowerShell na maszynie wirtualnej.
    • Utwórz folder, do którego chcesz zapisać plik pobierania.
    • Pobierz aktualizację credssp.
    • Zainstaluj aktualizację.
    • Ustaw klucz rejestru luk w zabezpieczeniach, aby umożliwić nie zaktualizowanym klientom nawiązywanie połączenia z maszyną wirtualną.
    • Włącz konsolę szeregową w celu zapewnienia przyszłego i łatwiejszego ograniczania ryzyka.
    • Uruchom ponownie maszynę wirtualną.

Obejście problemu

Ostrzeżenie

Po zmianie następującego ustawienia dozwolone jest niezabezpieczone połączenie, które uwidacznia serwer zdalny przed atakami. Należy rozważnie wykonywać czynności podane w tej sekcji. Niepoprawne zmodyfikowanie rejestru może być przyczyną poważnych problemów. Przed zmodyfikowaniem rejestru należy utworzyć jego kopię zapasową, aby móc przywrócić rejestr na wypadek problemów.

Scenariusz 1. Zaktualizowani klienci nie mogą komunikować się z nie zaktualizowanymi serwerami

Najczęstszym scenariuszem jest to, że klient ma zainstalowaną aktualizację CredSSP, a ustawienie zasad korygowania oracle szyfrowania nie zezwala na niezabezpieczone połączenie RDP z serwerem, na którym nie zainstalowano aktualizacji CredSSP.

W celu obejścia tego problemu należy wykonać następujące czynności:

  1. Na kliencie z zainstalowaną aktualizacją credSSP uruchom plik gpedit.msc, a następnie przejdź do obszaru Delegowanie poświadczeńsystemu>szablonów administracyjnych>konfiguracji> komputera w okienku nawigacji.

  2. Zmień zasady korygowania oracle szyfrowania na Włączone, a następnie zmień poziom ochronyna Narażony.

    Jeśli nie możesz użyć pliku gpedit.msc, możesz wprowadzić tę samą zmianę przy użyciu rejestru w następujący sposób:

    1. Otwórz okno wiersza polecenia jako administrator.

    2. Uruchom następujące polecenie, aby dodać wartość rejestru:

      REG ADD HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters\ /v AllowEncryptionOracle /t REG_DWORD /d 2
      

Scenariusz 2. Nie zaktualizowani klienci nie mogą komunikować się z serwerami z poprawkami

Jeśli na maszynie wirtualnej z systemem Windows platformy Azure zainstalowano tę aktualizację i jest ona ograniczona do odbierania nie zaktualizowanych klientów, wykonaj następujące kroki, aby zmienić ustawienie zasad korygowania oracle szyfrowania :

  1. Na dowolnym komputerze z systemem Windows z zainstalowanym programem PowerShell dodaj adres IP maszyny wirtualnej do listy "zaufanych" w pliku hosta:

    Set-item wsman:\localhost\Client\TrustedHosts -value <IP>
    
  2. Przejdź do Azure Portal, znajdź maszynę wirtualną, a następnie zaktualizuj grupę Zabezpieczeń sieci, aby zezwolić na porty programu PowerShell 5985 i 5986.

  3. Na komputerze z systemem Windows połącz się z maszyną wirtualną przy użyciu programu PowerShell:

    W przypadku protokołu HTTP:

    $Skip = New-PSSessionOption -SkipCACheck -SkipCNCheck Enter-PSSession -ComputerName "<<Public IP>>" -port "5985" -Credential (Get-Credential) -SessionOption $Skip
    

    W przypadku protokołu HTTPS:

    $Skip = New-PSSessionOption -SkipCACheck -SkipCNCheck Enter-PSSession -ComputerName "<<Public IP>>" -port "5986" -Credential (Get-Credential) -useSSL -SessionOption $Skip
    
  4. Uruchom następujące polecenie, aby zmienić ustawienie zasad korygowania oracle szyfrowania przy użyciu rejestru:

    Set-ItemProperty -Path 'HKLM:\Software\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters' -name "AllowEncryptionOracle" 2 -Type DWord
    

Skrypty konsoli szeregowej platformy Azure

Wersja systemu operacyjnego Skrypt
Windows 7 Service Pack 1 / Windows Server 2008 R2 Service Pack 1 #Create lokalizacji pobierania
md c:\temp

##Download pliku KB
$source = "http://download.windowsupdate.com/d/msdownload/update/software/secu/2018/05/windows6.1-kb4103718-x64_c051268978faef39e21863a95ea2452ecbc0936d.msu"
$destination = "c:\temp\windows6.1-kb4103718-x64_c051268978faef39e21863a95ea2452ecbc0936d.msu"
$wc = New-Object System.Net.WebClient
$wc.DownloadFile($source,$destination)

#Install bazy wiedzy
expand -F:* $destination C:\temp\
dism /ONLINE /add-package /packagepath:"c:\temp\Windows6.1-KB4103718-x64.cab"

#Add klucz luki w zabezpieczeniach, aby umożliwić klientom nieprzypisanym
REG ADD "HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters" /v AllowEncryptionOracle /t REG_DWORD /d 2

#Restart maszynę wirtualną w celu ukończenia instalacji/ustawień
shutdown /r /t 0 /f
System Windows Server 2012
#Create lokalizacji pobierania
md c:\temp


##Download pliku KB
$source = "http://download.windowsupdate.com/d/msdownload/update/software/secu/2018/04/windows8-rt-kb4103730-x64_1f4ed396b8c411df9df1e6755da273525632e210.msu"
$destination = "c:\temp\windows8-rt-kb4103730-x64_1f4ed396b8c411df9df1e6755da273525632e210.msu"
$wc = New-Object System.Net.WebClient
$wc.DownloadFile($source,$destination)


#Install bazy wiedzy
expand -F:* $destination C:\temp\
dism /ONLINE /add-package /packagepath:"c:\temp\Windows8-RT-KB4103730-x64.cab"


#Add klucz luki w zabezpieczeniach, aby umożliwić klientom nieprzypisanym
REG ADD "HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters" /v AllowEncryptionOracle /t REG_DWORD /d 2


#Restart maszynę wirtualną w celu ukończenia instalacji/ustawień
shutdown /r /t 0 /f

Windows 8.1/Windows Server 2012 R2
#Create lokalizacji pobierania
md c:\temp


##Download pliku KB
$source = "http://download.windowsupdate.com/d/msdownload/update/software/secu/2018/05/windows8.1-kb4103725-x64_cdf9b5a3be2fd4fc69bc23a617402e69004737d9.msu"
$destination = "c:\temp\windows8.1-kb4103725-x64_cdf9b5a3be2fd4fc69bc23a617402e69004737d9.msu"
$wc = New-Object System.Net.WebClient
$wc.DownloadFile($source,$destination)


#Install bazy wiedzy
expand -F:* $destination C:\temp\
dism /ONLINE /add-package /packagepath:"c:\temp\Windows8.1-KB4103725-x64.cab"


#Add klucz luki w zabezpieczeniach, aby umożliwić klientom nieprzypisanym
REG ADD "HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters" /v AllowEncryptionOracle /t REG_DWORD /d 2


#Restart maszynę wirtualną w celu ukończenia instalacji/ustawień
shutdown /r /t 0 /f

RS1 — Windows 10 wersja 1607 /Windows Server 2016
#Create lokalizacji pobierania
md c:\temp


##Download pliku KB
$source = "http://download.windowsupdate.com/d/msdownload/update/software/secu/2018/05/windows10.0-kb4103723-x64_2adf2ea2d09b3052d241c40ba55e89741121e07e.msu"
$destination = "c:\temp\windows10.0-kb4103723-x64_2adf2ea2d09b3052d241c40ba55e89741121e07e.msu"
$wc = New-Object System.Net.WebClient
$wc.DownloadFile($source,$destination)


#Install bazy wiedzy
expand -F:* $destination C:\temp\
dism /ONLINE /add-package /packagepath:"c:\temp\Windows10.0-KB4103723-x64.cab"


#Add klucz luki w zabezpieczeniach, aby umożliwić klientom nieprzypisanym
REG ADD "HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters" /v AllowEncryptionOracle /t REG_DWORD /d 2


#Restart maszynę wirtualną w celu ukończenia instalacji/ustawień
shutdown /r /t 0 /f

RS2 — Windows 10 wersja 1703
#Create lokalizacji pobierania
md c:\temp


##Download pliku KB
$source = "http://download.windowsupdate.com/c/msdownload/update/software/secu/2018/05/windows10.0-kb4103731-x64_209b6a1aa4080f1da0773d8515ff63b8eca55159.msu"
$destination = "c:\temp\windows10.0-kb4103731-x64_209b6a1aa4080f1da0773d8515ff63b8eca55159.msu"
$wc = New-Object System.Net.WebClient
$wc.DownloadFile($source,$destination)


#Install bazy wiedzy
expand -F:* $destination C:\temp\
dism /ONLINE /add-package /packagepath:"c:\temp\Windows10.0-KB4103731-x64.cab"


#Add klucz luki w zabezpieczeniach, aby umożliwić klientom nieprzypisanym
REG ADD "HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters" /v AllowEncryptionOracle /t REG_DWORD /d 2


#Restart maszynę wirtualną w celu ukończenia instalacji/ustawień
shutdown /r /t 0 /f

RS3 — Windows 10 wersja 1709 / Windows Server 2016 wersja 1709
#Create lokalizacji pobierania
md c:\temp


##Download pliku KB
$source = "http://download.windowsupdate.com/c/msdownload/update/software/secu/2018/05/windows10.0-kb4103727-x64_c217e7d5e2efdf9ff8446871e509e96fdbb8cb99.msu"
$destination = "c:\temp\windows10.0-kb4103727-x64_c217e7d5e2efdf9ff8446871e509e96fdbb8cb99.msu"
$wc = New-Object System.Net.WebClient
$wc.DownloadFile($source,$destination)


#Install bazy wiedzy
expand -F:* $destination C:\temp\
dism /ONLINE /add-package /packagepath:"c:\temp\Windows10.0-KB4103727-x64.cab"


#Add klucz luki w zabezpieczeniach, aby umożliwić klientom nieprzypisanym
REG ADD "HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters" /v AllowEncryptionOracle /t REG_DWORD /d 2


#Restart maszynę wirtualną w celu ukończenia instalacji/ustawień
shutdown /r /t 0 /f

RS4 — Windows 10 1803 / Windows Server 2016 wersji 1803
#Create lokalizacji pobierania
md c:\temp


##Download pliku KB
$source = "http://download.windowsupdate.com/c/msdownload/update/software/secu/2018/05/windows10.0-kb4103721-x64_fcc746cd817e212ad32a5606b3db5a3333e030f8.msu"
$destination = "c:\temp\windows10.0-kb4103721-x64_fcc746cd817e212ad32a5606b3db5a3333e030f8.msu"
$wc = New-Object System.Net.WebClient
$wc.DownloadFile($source,$destination)


#Install bazy wiedzy
expand -F:* $destination C:\temp\
dism /ONLINE /add-package /packagepath:"c:\temp\Windows10.0-KB4103721-x64.cab"


#Add klucz luki w zabezpieczeniach, aby umożliwić klientom nieprzypisanym
REG ADD "HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters" /v AllowEncryptionOracle /t REG_DWORD /d 2


#Restart maszynę wirtualną w celu ukończenia instalacji/ustawień
shutdown /r /t 0 /f

Zdalne skrypty programu PowerShell

Wersja systemu operacyjnego Skrypt
Windows 7 Service Pack 1 / Windows Server 2008 R2 Service Pack 1
#Set zmiennych:
$subscriptionID = "<your subscription ID>"
$vmname = "<IP of your machine or FQDN>"
$PSPort = "5986" #change tej zmiennej, jeśli dostosujesz protokół HTTPS w programie PowerShell do innego portu


#Log do subskrypcji
Add-AzureRmAccount
Select-AzureRmSubscription -SubscriptionID $subscriptionID
Set-AzureRmContext -SubscriptionID $subscriptionID


#Connect do zdalnego programu PowerShell
$Skip = New-PSSessionOption -SkipCACheck -SkipCNCheck
Enter-PSSession -ComputerName $vmname -port $PSPort -Credential (Get-Credential) -useSSL -SessionOption $Skip


#Create lokalizacji pobierania
md c:\temp


##Download pliku KB
$source = "http://download.windowsupdate.com/d/msdownload/update/software/secu/2018/05/windows6.1-kb4103718-x64_c051268978faef39e21863a95ea2452ecbc0936d.msu"
$destination = "c:\temp\windows6.1-kb4103718-x64_c051268978faef39e21863a95ea2452ecbc0936d.msu"
$wc = New-Object System.Net.WebClient
$wc.DownloadFile($source,$destination)


#Install bazy wiedzy
expand -F:* $destination C:\temp\
dism /ONLINE /add-package /packagepath:"c:\temp\Windows6.1-KB4103718-x64.cab"


#Add klucz luki w zabezpieczeniach, aby umożliwić klientom nieprzypisanym
REG ADD "HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters" /v AllowEncryptionOracle /t REG_DWORD /d 2


#Set flagi konsoli szeregowej platformy Azure
cmd
bcdedit /set {bootmgr} displaybootmenu yes
bcdedit /set {bootmgr} timeout 5
bcdedit /set {bootmgr} bootems yes
bcdedit /ems {current} on
bcdedit /emssettings EMSPORT:1 EMSBAUDRATE:115200


#Restart maszynę wirtualną w celu ukończenia instalacji/ustawień
shutdown /r /t 0 /f

System Windows Server 2012
#Set zmiennych:
$subscriptionID = "<your subscription ID>"
$vmname = "<IP of your machine or FQDN>"
$PSPort = "5986" #change tej zmiennej, jeśli dostosujesz protokół HTTPS w programie PowerShell do innego portu


#Log do subskrypcji
Add-AzureRmAccount
Select-AzureRmSubscription -SubscriptionID $subscriptionID
Set-AzureRmContext -SubscriptionID $subscriptionID


#Connect do zdalnego programu PowerShell
$Skip = New-PSSessionOption -SkipCACheck -SkipCNCheck
Enter-PSSession -ComputerName $vmname -port $PSPort -Credential (Get-Credential) -useSSL -SessionOption $Skip


#Create lokalizacji pobierania
md c:\temp


##Download pliku KB
$source = "http://download.windowsupdate.com/d/msdownload/update/software/secu/2018/04/windows8-rt-kb4103730-x64_1f4ed396b8c411df9df1e6755da273525632e210.msu"
$destination = "c:\temp\windows8-rt-kb4103730-x64_1f4ed396b8c411df9df1e6755da273525632e210.msu"
$wc = New-Object System.Net.WebClient
$wc.DownloadFile($source,$destination)


#Install bazy wiedzy
expand -F:* $destination C:\temp\
dism /ONLINE /add-package /packagepath:"c:\temp\Windows8-RT-KB4103730-x64.cab"


#Add klucz luki w zabezpieczeniach, aby umożliwić klientom nieprzypisanym
REG ADD "HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters" /v AllowEncryptionOracle /t REG_DWORD /d 2


#Set flagi konsoli szeregowej platformy Azure
cmd
bcdedit /set {bootmgr} displaybootmenu yes
bcdedit /set {bootmgr} timeout 5
bcdedit /set {bootmgr} bootems yes
bcdedit /ems {current} on
bcdedit /emssettings EMSPORT:1 EMSBAUDRATE:115200


#Restart maszynę wirtualną w celu ukończenia instalacji/ustawień
shutdown /r /t 0 /f

Windows 8.1/Windows Server 2012 R2
#Set zmiennych:
$subscriptionID = "<your subscription ID>"
$vmname = "<IP of your machine or FQDN>"
$PSPort = "5986" #change tej zmiennej, jeśli dostosujesz protokół HTTPS w programie PowerShell do innego portu


#Log do subskrypcji
Add-AzureRmAccount
Select-AzureRmSubscription -SubscriptionID $subscriptionID
Set-AzureRmContext -SubscriptionID $subscriptionID


#Connect do zdalnego programu PowerShell
$Skip = New-PSSessionOption -SkipCACheck -SkipCNCheck
Enter-PSSession -ComputerName $vmname -port $PSPort -Credential (Get-Credential) -useSSL -SessionOption $Skip


#Create lokalizacji pobierania
md c:\temp


##Download pliku KB
$source = "http://download.windowsupdate.com/d/msdownload/update/software/secu/2018/05/windows8.1-kb4103725-x64_cdf9b5a3be2fd4fc69bc23a617402e69004737d9.msu"
$destination = "c:\temp\windows8.1-kb4103725-x64_cdf9b5a3be2fd4fc69bc23a617402e69004737d9.msu"
$wc = New-Object System.Net.WebClient
$wc.DownloadFile($source,$destination)


#Install bazy wiedzy
expand -F:* $destination C:\temp\
dism /ONLINE /add-package /packagepath:"c:\temp\Windows8.1-KB4103725-x64.cab"


#Add klucz luki w zabezpieczeniach, aby umożliwić klientom nieprzypisanym
REG ADD "HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters" /v AllowEncryptionOracle /t REG_DWORD /d 2


#Set flagi konsoli szeregowej platformy Azure
cmd
bcdedit /set {bootmgr} displaybootmenu yes
bcdedit /set {bootmgr} timeout 5
bcdedit /set {bootmgr} bootems yes
bcdedit /ems {current} on
bcdedit /emssettings EMSPORT:1 EMSBAUDRATE:115200


#Restart maszynę wirtualną w celu ukończenia instalacji/ustawień
shutdown /r /t 0 /f

RS1 — Windows 10 wersja 1607 /Windows Server 2016
#Set zmiennych:
$subscriptionID = "<your subscription ID>"
$vmname = "<IP of your machine or FQDN>"
$PSPort = "5986" #change tej zmiennej, jeśli dostosujesz protokół HTTPS w programie PowerShell do innego portu


#Log do subskrypcji
Add-AzureRmAccount
Select-AzureRmSubscription -SubscriptionID $subscriptionID
Set-AzureRmContext -SubscriptionID $subscriptionID


#Connect do zdalnego programu PowerShell
$Skip = New-PSSessionOption -SkipCACheck -SkipCNCheck
Enter-PSSession -ComputerName $vmname -port $PSPort -Credential (Get-Credential) -useSSL -SessionOption $Skip


#Create lokalizacji pobierania
md c:\temp


##Download pliku KB
$source = "http://download.windowsupdate.com/d/msdownload/update/software/secu/2018/05/windows10.0-kb4103723-x64_2adf2ea2d09b3052d241c40ba55e89741121e07e.msu"
$destination = "c:\temp\windows10.0-kb4103723-x64_2adf2ea2d09b3052d241c40ba55e89741121e07e.msu"
$wc = New-Object System.Net.WebClient
$wc.DownloadFile($source,$destination)


#Install bazy wiedzy
expand -F:* $destination C:\temp\
dism /ONLINE /add-package /packagepath:"c:\temp\Windows10.0-KB4103723-x64.cab"


#Add klucz luki w zabezpieczeniach, aby umożliwić klientom nieprzypisanym
REG ADD "HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters" /v AllowEncryptionOracle /t REG_DWORD /d 2


#Set flagi konsoli szeregowej platformy Azure
cmd
bcdedit /set {bootmgr} displaybootmenu yes
bcdedit /set {bootmgr} timeout 5
bcdedit /set {bootmgr} bootems yes
bcdedit /ems {current} on
bcdedit /emssettings EMSPORT:1 EMSBAUDRATE:115200


#Restart maszynę wirtualną w celu ukończenia instalacji/ustawień
shutdown /r /t 0 /f

RS2 — Windows 10 wersja 1703
#Set zmiennych:
$subscriptionID = "<your subscription ID>"
$vmname = "<IP of your machine or FQDN>"
$PSPort = "5986" #change tej zmiennej, jeśli dostosujesz protokół HTTPS w programie PowerShell do innego portu


#Log do subskrypcji
Add-AzureRmAccount
Select-AzureRmSubscription -SubscriptionID $subscriptionID
Set-AzureRmContext -SubscriptionID $subscriptionID


#Connect do zdalnego programu PowerShell
$Skip = New-PSSessionOption -SkipCACheck -SkipCNCheck
Enter-PSSession -ComputerName $vmname -port $PSPort -Credential (Get-Credential) -useSSL -SessionOption $Skip


#Create lokalizacji pobierania
md c:\temp


##Download pliku KB
$source = "http://download.windowsupdate.com/c/msdownload/update/software/secu/2018/05/windows10.0-kb4103731-x64_209b6a1aa4080f1da0773d8515ff63b8eca55159.msu"
$destination = "c:\temp\windows10.0-kb4103731-x64_209b6a1aa4080f1da0773d8515ff63b8eca55159.msu"
$wc = New-Object System.Net.WebClient
$wc.DownloadFile($source,$destination)


#Install bazy wiedzy
expand -F:* $destination C:\temp\
dism /ONLINE /add-package /packagepath:"c:\temp\Windows10.0-KB4103731-x64.cab"


#Add klucz luki w zabezpieczeniach, aby umożliwić klientom nieprzypisanym
REG ADD "HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters" /v AllowEncryptionOracle /t REG_DWORD /d 2


#Set flagi konsoli szeregowej platformy Azure
cmd
bcdedit /set {bootmgr} displaybootmenu yes
bcdedit /set {bootmgr} timeout 5
bcdedit /set {bootmgr} bootems yes
bcdedit /ems {current} on
bcdedit /emssettings EMSPORT:1 EMSBAUDRATE:115200


#Restart maszynę wirtualną w celu ukończenia instalacji/ustawień
shutdown /r /t 0 /f

RS3 — Windows 10 wersja 1709 / Windows Server 2016 wersja 1709
#Set zmiennych:
$subscriptionID = "<your subscription ID>"
$vmname = "<IP of your machine or FQDN>"
$PSPort = "5986" #change tej zmiennej, jeśli dostosujesz protokół HTTPS w programie PowerShell do innego portu


#Log do subskrypcji
Add-AzureRmAccount
Select-AzureRmSubscription -SubscriptionID $subscriptionID
Set-AzureRmContext -SubscriptionID $subscriptionID


#Connect do zdalnego programu PowerShell
$Skip = New-PSSessionOption -SkipCACheck -SkipCNCheck
Enter-PSSession -ComputerName $vmname -port $PSPort -Credential (Get-Credential) -useSSL -SessionOption $Skip


#Create lokalizacji pobierania
md c:\temp


##Download pliku KB
$source = "http://download.windowsupdate.com/c/msdownload/update/software/secu/2018/05/windows10.0-kb4103727-x64_c217e7d5e2efdf9ff8446871e509e96fdbb8cb99.msu"
$destination = "c:\temp\windows10.0-kb4103727-x64_c217e7d5e2efdf9ff8446871e509e96fdbb8cb99.msu"
$wc = New-Object System.Net.WebClient
$wc.DownloadFile($source,$destination)


#Install bazy wiedzy
expand -F:* $destination C:\temp\
dism /ONLINE /add-package /packagepath:"c:\temp\Windows10.0-KB4103727-x64.cab"


#Add klucz luki w zabezpieczeniach, aby umożliwić klientom nieprzypisanym
REG ADD "HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters" /v AllowEncryptionOracle /t REG_DWORD /d 2


#Set flagi konsoli szeregowej platformy Azure
cmd
bcdedit /set {bootmgr} displaybootmenu yes
bcdedit /set {bootmgr} timeout 5
bcdedit /set {bootmgr} bootems yes
bcdedit /ems {current} on
bcdedit /emssettings EMSPORT:1 EMSBAUDRATE:115200


#Restart maszynę wirtualną w celu ukończenia instalacji/ustawień
shutdown /r /t 0 /f

RS4 — Windows 10 1803 / Windows Server 2016 wersji 1803
#Set zmiennych:
$subscriptionID = "<your subscription ID>"
$vmname = "<IP of your machine or FQDN>"
$PSPort = "5986" #change tej zmiennej, jeśli dostosujesz protokół HTTPS w programie PowerShell do innego portu


#Log do subskrypcji
Add-AzureRmAccount
Select-AzureRmSubscription -SubscriptionID $subscriptionID
Set-AzureRmContext -SubscriptionID $subscriptionID


#Connect do zdalnego programu PowerShell
$Skip = New-PSSessionOption -SkipCACheck -SkipCNCheck
Enter-PSSession -ComputerName $vmname -port $PSPort -Credential (Get-Credential) -useSSL -SessionOption $Skip


#Create lokalizacji pobierania
md c:\temp


##Download pliku KB
$source = "http://download.windowsupdate.com/c/msdownload/update/software/secu/2018/05/windows10.0-kb4103721-x64_fcc746cd817e212ad32a5606b3db5a3333e030f8.msu"
$destination = "c:\temp\windows10.0-kb4103721-x64_fcc746cd817e212ad32a5606b3db5a3333e030f8.msu"
$wc = New-Object System.Net.WebClient
$wc.DownloadFile($source,$destination)


#Install bazy wiedzy
expand -F:* $destination C:\temp\
dism /ONLINE /add-package /packagepath:"c:\temp\Windows10.0-KB4103721-x64.cab"


#Add klucz luki w zabezpieczeniach, aby umożliwić klientom nieprzypisanym
REG ADD "HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters" /v AllowEncryptionOracle /t REG_DWORD /d 2


#Set flagi konsoli szeregowej platformy Azure
cmd
bcdedit /set {bootmgr} displaybootmenu yes
bcdedit /set {bootmgr} timeout 5
bcdedit /set {bootmgr} bootems yes
bcdedit /ems {current} on
bcdedit /emssettings EMSPORT:1 EMSBAUDRATE:115200


#Restart maszynę wirtualną w celu ukończenia instalacji/ustawień
shutdown /r /t 0 /f

Skontaktuj się z nami, aby uzyskać pomoc

Jeśli masz pytania lub potrzebujesz pomocy, utwórz wniosek o pomoc techniczną lub zadaj pytanie w społeczności wsparcia dla platformy Azure. Możesz również przesłać opinię o produkcie do społeczności opinii platformy Azure.