Skip to content

Instantly share code, notes, and snippets.

@numbnet
Created June 13, 2021 14:58
Show Gist options
  • Select an option

  • Save numbnet/211da89d97e65a175bd3dcba8c27b019 to your computer and use it in GitHub Desktop.

Select an option

Save numbnet/211da89d97e65a175bd3dcba8c27b019 to your computer and use it in GitHub Desktop.

Revisions

  1. numbnet created this gist Jun 13, 2021.
    98 changes: 98 additions & 0 deletions SMBEnaDis_v123.ps1
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,98 @@

    ###################################################################################
    ## Как удалить SMBv1
    ## Вот как удалить SMBv1 в Windows ( 10, 8.1, Server 2019, Server 2016 и 2012 R2)
    ###################################################################################

    ## SMB v1 (клиент и сервер)
    ## ****************************************
    ## СТАТУС:
    Get-WindowsOptionalFeature -Online -FeatureName smb1protocol
    ## ЗАПРЕТИТЬ:
    #Disable-WindowsOptionalFeature -Online -FeatureName smb1protocol
    ## РАЗРЕШИТЬ
    Enable-WindowsOptionalFeature -Online -FeatureName smb1protocol


    ###################################################################################
    ## Windows (Server 2012 R2, Server 2016, Server 2019):
    ## метод диспетчера серверов для откл. SMB Windows (8.1 и 10)
    ###################################################################################

    ## SMB v1
    ## ****************************************
    ## СТАТУС:
    Get-WindowsOptionalFeature -Online -FeatureName SMB1Protocol
    ## ЗАПРЕТИТЬ:
    #Disable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol
    ## РАЗРЕШИТЬ
    Enable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol

    ## SMB v2/v3
    ## ****************************************
    ## СТАТУС:
    Get-SmbServerConfiguration | Select EnableSMB2Protocol
    ## ЗАПРЕТИТЬ:
    #Set-SmbServerConfiguration -EnableSMB2Protocol $false
    ## РАЗРЕШИТЬ
    Set-SmbServerConfiguration -EnableSMB2Protocol $true



    ###################################################################################
    ## определить статус, вкл. и откл. протоколы SMB на сервере SMB
    ###################################################################################
    # Для Windows 8 и Windows Server 2012
    # В Windows 8 и Server 2012 появился новый командлет Windows PowerShell Set-SMBServerConfiguration .
    # Командлет позволяет включать или отключать протоколы SMBv1, SMBv2 и SMBv3 в серверном компоненте.

    # ПРИМЕЧАНИЕ: Когда вы вкл. или откл. SMBv2 в Windows 8 или Server 2012, SMBv3 ' также включ. или отключ..
    # Это происходит потому,что эти протоколы используют один и тот же стек.
    # Вам не нужно перезагружать компьютер после выполнения командлета Set-SMBServerConfiguration .

    ## SMB v1 на сервере SMB
    ## ****************************************
    ## СТАТУС:
    Get-SmbServerConfiguration | Select EnableSMB1Protocol
    ## ЗАПРЕТИТЬ:
    #Set-SmbServerConfiguration -EnableSMB1Protocol $false
    ## РАЗРЕШИТЬ
    Set-SmbServerConfiguration -EnableSMB1Protocol $true

    ## SMB v2/v3 на сервере SMB
    ## ****************************************
    ## СТАТУС:
    Get-SmbServerConfiguration | Select EnableSMB2Protocol
    ## ЗАПРЕТИТЬ:
    #Set-SmbServerConfiguration -EnableSMB2Protocol $false
    ## РАЗРЕШИТЬ
    Set-SmbServerConfiguration -EnableSMB2Protocol $true



    ###################################################################################
    # Для Windows (7, Server 2008 R2, Vista и Server 2008)
    ###################################################################################
    # ПРИМЕЧАНИЕ: Для этого метода требуется PowerShell 2.0 или более поздняя версия PowerShell.

    ## SMB v1 на сервере SMB
    ## ****************************************
    ## СТАТУС:
    Get-Item HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters | ForEach-Object {Get-ItemProperty $_.pspath}
    # Конфиг по умолчанию = Вкл (раздел реестра не создается), поэтому знач SMB1 не будет возвращено.
    ## ЗАПРЕТИТЬ:
    # Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB1 -Type DWORD -Value 0 -Force
    ## РАЗРЕШИТЬ
    Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB1 -Type DWORD -Value 1 -Force
    # ПРИМЕЧАНИЕ: После внесения изменений необходимо перезагрузить компьютер.

    ## SMB v2/v3 на сервере SMB
    ## ****************************************
    ## СТАТУС:
    Get-ItemProperty HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters | ForEach-Object {Get-ItemProperty $_.pspath}
    ## ЗАПРЕТИТЬ:
    # Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB2 -Type DWORD -Value 0 -Force
    ## РАЗРЕШИТЬ
    Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB2 -Type DWORD -Value 1 -Force

    ###################################################################################