Auteur de questions
Script désactivation / activation SMB1

Question
-
Hello tout le monde!
Je rencontre pas mal de soucis sous W10 en ce moment avec le SMB, ce qui fait que je suis obligé de le désactiver, puis de le réactiver dans les services windows.
Etant un process assez "lourd" (désactiver le service, redémarrer, réactiver le service, redémarrer) j'aimerai en faire un script, pour le lancer quand nécessaire.
De ce fait, j'ai mes 2 commandes principales qui sont:
Disable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol
et
Enable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol
Mais, il me manque ce qu'il y a potentiellement au milieu, et notamment des lignes de commandes permettant a Powershell de reprendre le script après le premier redémarrage.
Etant encore un gros noob sur ce genre de programmation, je pense avoir le script dans la tête, mais je n'ai qu'une vague idée de comment le traduire en PowerShell.
Une ame charitable pour me donner un coup de main ?
Cordialement.
Toutes les réponses
-
Bonjour,
si j'ai bien compristu veux un script qui active le smb au démarrage ?? travailler vous sur un poste nomad ou dans un domaine pour un ensemble de poste ?
tu veux que le script se lance tout seul au démarrage du poste ? ouverture de la session ? ou manuellement ?
-
tu peux essayer cela ,
en fait ce que tu as besoin ce n'est pas de desinstaller la fonctionnalité avec ta commande mais de désactiver le service en cas de besoin et de le réactiver pour cela tu peux utiliser la commande suivante :
pour desactiver :
Set-SmbServerConfiguration -EnableSMB1Protocol $false - force
pour reactiver :
Set-SmbServerConfiguration -EnableSMB1Protocol $true -Force
pour verifier que le protocole est bien desactiver entre cette commande :
Get-SmbServerConfiguration | Select EnableSMB1Protocol
Cordialement,
- Modifié M dakhama mardi 18 février 2020 17:44
-
bonjour AlphaX66
en se basant sur les cmdlets proposées par M dakhama (merci Monsieur :-) )
tu peux faire quelques lignes de scripts comme ceci
# vérifier la configuration SMBv1 $SMBV1 = Get-SmbServerConfiguration | Select EnableSMB1Protocol if ($SMBV1 -eq $false) # SMBV1 est désactivé, l'activer { Set-SmbServerConfiguration -EnableSMB1Protocol $true - force Write-Host "SMBv1 est maintenant : " -ForegroundColor Green -NoNewline Write-Host "activé" -ForegroundColor Yellow } else # SMB1 est activé, le désactiver { Set-SmbServerConfiguration -EnableSMB1Protocol $false - force Write-Host "SMBv1 est maintenant : " -ForegroundColor Green -NoNewline Write-Host "désactivé" -ForegroundColor Yellow }
Tu lances le script, il check et il inverse la situation quelle que soit celle-ci. (Les write-Host, c'est juste pour faire joli, tu peux les supprimer) :-)
Cordialement
Olivier
- Modifié Oliv - TheFrog mercredi 19 février 2020 07:09
-
Bonjour Olivier,
très bon travail, le script proposé par olivier est très pratique et propre, moi je peux transformer ce script en une appli GUI avec des boutons.
je pense que j'aurai le plaisir Olivier (Monsieur Script) :) de travailler avec toi sur des solutions, en tout cas ravi, tu fais du bien a ce forum :)
-
A voir s'il faut activer la partie client smb ou la partie serveur SMB ?
Set-SmbServerConfiguration
Set-SmbClientConfiguration
N'importe qu'elle poste peut agir en tant que client ou serveur SMB .
Enfin le mieux est de faire évoluer son parc afin d'arrêter d'utiliser des protocoles du siècles derniers très vulnérables entre autre au ransomware...
-
Bonjour M Dakhama
Générer des scripts avec des GUI, j'ai du mal avec ça. :-)
Je sais faire quelques bricoles, comme suite à Read-Host ou on demande à un user de choisir un fichier (en input par ex.), ça lance automatiquement un explorateur sur un répertoire prédéfini et c'est filtré sur un type de fichier prédéfini. Comme ça, il n'a pas à saisir le path dudit fichier et on est certain qu'il existe, mais ça s'arrête là dans le GUI.
Si ça ti'nteresse, j'ai, dans mon Github, un petit mémo sur ce sujet. Github qui me sert plus comme mémo perso que pour les autres, même si public.
Merci pour tes remerciements (drôle comme formulation ça sonne bizarre, :-) ). Ca fait plaisir de temps en temps de savoir qu'on s'est rendu utile. Ca ne flatte pas mon égo (pas d'égo là dessus), mais ça fait plaisir.
Tu remarqueras que mes réponses ne sont jamais courtes :-), même si je donne seulement un lien, je tiens à expliquer le pourquoi du comment.
Olivier
-
De rien Olivier,
ce n'est pas pour te flatter, mais tu l'as dit le fait d'expliquer le pourquoi du comment ( comme tu fais et fais d'ailleurs philippe aussi), n'est pas donné à tout le monde, c'est la partie la plus difficile, la plupart d'entre nous se contente de répondre au problème directement y compris moi aussi :)
pour la partie GUI, ce n'est pas grave, je maîtrise bien cette partie, et d’ailleurs je créerai ce soir une petite appli à partir de ton script, qui permet de désactiver, activer et checker le protocole smb1, pour répondre à des nombreuses demande. ( je te l'enverrai ou je mettrai ton nom dessus).
-
Hello Olivier!
Merci pour ce script!Après un test: il semblerait qu'il n'aille pas désactiver le SMB dans les fonctionnalités windows. Il l'affiche toujours désactivé, mais il semble toujours actif.
J'ai une question concernant ce script:
A quoi correspond la -eq ?
Merci d'avance !
-
-
-eq Equal -ne Not equal -ge Greater than or equal -gt Greater than -lt Less than -le Less than or equal -like Wildcard comparison -notlike Wildcard comparison -match Regular expression comparison -notmatch Regular expression comparison -replace Replace operator -contains Containment operator -notcontains Containment operator -in Like –contains, but with the operands reversed.(PowerShell 3.0) -notin Like –notcontains, but with the operands reversed.(PowerShell 3.0)
-
-
Le SMB1Protocol reste full désactivé, même en lancant le script plusieurs fois (vu qu'il devrait pouvoir changer la valeur dans cette sortie là a chaque lancement du script)
Même soucis après redémarrage de la machine
-
Bonjour,
Essais d'exécuter le script en mode admin, et donne nous le résultat de la commande get elle aussi doit être exécutée en powershell en mode admin.
Ton parc n'est pas a jour, car tu utilises un protocole obsolète et plein de failles, tu devrais te débrouiller pour passer a une version supérieure de smb voilà ce que voulait dire
-
J'ai du mal à comprendre votre remarque sur le parc en sachant que notre parc informatique est à jour, que ce soit coté software ou hardware.
A partir de Windows Vista et Windows server 2008(plus supporté depuis quelques temps) tous les OS Microsoft prennent en charge des protocoles plus récent et plus sécurisé.
SMB V1 est vieux et très vulnérable ou cryptolocker entre autre. Il permet la compatibilté avec Windows 2003 et XP et antérieur.
C'est quoi le problème de départ ?
*-SmbServerConfiguration => sur le poste qui dispose des partages, que ce soit un OS client ou serveur
*-SmbClientConfiguration => concerne les clients ceux qui veulent accéder à un partage que ce soit un OD serveur ou client.
Après un test: il semblerait qu'il n'aille pas désactiver le SMB dans les fonctionnalités windows. Il l'affiche toujours désactivé, mais il semble toujours actif.
Set-SmbServerConfiguration -EnableSMB1Protocol $false - force
Cela désactive SMB V1 mais SMB est les versions plus récentes du protocoles restent actifs.
- Modifié Philippe BarthMVP jeudi 20 février 2020 12:16
-
En gros, mon soucis c'est que je perds, tous les matins mon accès à certains lecteur réseau.
Windows me dis : "Vous ne pouvez pas vous connecter au partage de fichier, car il n'est pas sécurisé. Ce partage nécessite le protocole SMB1 obsolète qui n'est pas sîr et qui expose votre systèmes aux attaques.
Votre système nécessite SMB2 ou un protocole plus avancé."
Et j'avais besoin de désactiver le SMB Direct et le SMBv1.0 client et serveur puis les réactiver pour retrouver l'accès a mes lecteurs.
Est ce que le SMB3.0 est activé avec le SMB direct?
-
Le partage se trouve sur quoi comme serveur ?
Si vous utilisez un OS plus récent que Vista ou Windows 2008, c'est étrange. S'il s'agit d'un NAS comme par exemple Synology ou Qnap il est possible d'activer la prise en charge de version plus récente de SMB.