Skip to content

Instantly share code, notes, and snippets.

@numbnet
Created June 13, 2021 14:58
Show Gist options
  • Save numbnet/211da89d97e65a175bd3dcba8c27b019 to your computer and use it in GitHub Desktop.
Save numbnet/211da89d97e65a175bd3dcba8c27b019 to your computer and use it in GitHub Desktop.
###################################################################################
## Как удалить 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
###################################################################################
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment