Catégories
Tutos

Comment configurer le Wake On Lan sur Windows 10/11

Le titre est simple. on pourrait croire que Windows n’aurait pas son mot à dire sur le fait d’allumer son ordinateur par le réseau, puisque quand le PC est éteint, il n’est pas « sous Windows »… mais en vrai… si.

À l’heure des écononomies d’énergies, je voulais vraiment pouvoir éteindre mon ordinateur et l’allumer que à la demande si j’en avais besoin en remote. Mais alors que il y a 10 ans la solution était simple, une activation du paramètre dans le BIOS et c’était réglé, aujourd’hui Windows 11 adopte un comportement étrange : Si j’éteins le PC normalement (menu démarrer > éteindre ), impossible de le redémarrer avec un paquet magique Wake-on-LAN. A contrario, si j’éteins physiquement, par exemple avec le bouton Power au lancement de l’ordi, le PC se rallume bien avec un paquet magique.

Bizarre ? Lorsque que j’éteins normalement Windows, impossible de relancer…. Alors que le reste du temps ca marche bien…. Et oui… Il m’a fallu fouiller un peu pour savoir d’où venait le problème.

Déjà, il se trouve que mon Windows n’a pas le mode « démarrage rapide » (vous trouverez ça dans les paramètres d’alimentation avancés), n’est pas configuré en mode « Fast Boot » dans le BIOS et a bien la fonction « Wake Up by PCIe » activée dans le BIOS (enfin UEFI mais bon vous avez compris je suis vieux).

D’où peut bien venir le problème…

Il se trouve que j’avais les drivers de base de Windows 11 pour mon chipset réseau Intel I211. Du coup en installant les derniers drivers de chez Intel, j’ai pu retrouver quelques options supplémentaires à activer sur ma carte réseau dans les « propriétés avancées » :

  • Wake on Lan : Enabled
  • Wake on Magic Packet : Enabled
  • Wake on Pattern Match : Enabled
  • Energy Efficient Ethernet : OFF
  • Wake on link settings : FORCED
  • Wait for Link : ON
  • Enable PME : Enable

Aussi, n’oubliez pas d’activer « Allow this device to wake the computer ».

Bon, ca, c’était la base. Il me manquait certains trucs certes… Mais bon, même avec ça, les symptomes étaient toujours là.

Du coup, j’ai bien vérifié que le mode Hibernation était enlevé. Dans Powershell en admin tapez :

PowerShell
powercfg /hibernate off

Et là…………….. Toujours pas !

De recherches en recherches, je tombe sur une explication : il se trouve que Windows met l’ordi en mode « Deep Sleep » lors de l’extinction, un mode appelé aussi S5. Il faut alors soit désactiver ce mode dans le BIOS (moi j’ai pas donc c’est la merde), soit autoriser le Wake on LAN en mode S5 dans Windows. Pour celà, direction l’éditeur de registre. Dans

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NDIS\Parameters

Créez une nouvelle valeur DWORD 32 bits nommée

AllowWakeFromS5

et donnez lui la valeur 1. Si elle existe déjà,il faut juste changer la valeur.

Il m’a fallu plus d’une heure et de multiple reboots pour trouver ce satané paramètre qui me permet ENFIN de pouvoir éteindre mon ordinateur et de l’allumer qu’au besoin. J’espère que vous ferez bon usage de mon tuto et que ca vous servira !

Catégories
Tutos

Erreur 1069

Ces jours ci je voulais mettre un place un service sur mon Windows avec NSSM, très pratique au demeurant, mais je me suis heurté à un problème.

Le service réclame des droits d’admin, mais impossible de lui coller au cul mon mot de passe de session Windows. Je lui donnait le bon user, le bon mot de passe mais il ne voulais rien savoir, il y avait une erreur de logon du processus au démarrage, avec ce beau code d’erreur : Error 1069.

Et en fait, depuis un long moment déjà, j’utilise un MSA (Microsoft Account) pour me logger à ma session Windows, et pour plus de facilité, j’ai activé Microsoft Hello. Alors chez moi c’est soit avec un PIN, soit avec une reco digitale.

Et c’est là que se trouve la couille : Je n’ai plus rentré mon mot de passe Windows depuis des mois. Et il existe une règle de groupe (Group Policy) qui désactive la validité de votre mot de passe enregistré après 42 jours.

Voici donc comment régler ce problème, afin de pouvoir log votre service correctement, sans craindre l’erreur 1069.

Réactiver le login par mot de passe

Dans Settings -> Accounts -> Sign-in options, l’option « Password » ne m’était plus proposée, car en dessous j’avais coché la case « For improved security, only allow Windows Hello sign-in for Microsoft accounts on this device« .

J’ai donc désactivé l’option, fermé les settings puis réouvert : paf, l’option password était réapparu.

Désactiver l’expiration du mot de passe.

Ouvrez le Group Policy Editor (Executer puis, « gpedit.msc ») et

PS : Astuce, si vous êtes sur Windows 10 ou 11 et que vous voulez activer le Group Policy Editor, dans une invite de commande ouvert en Admin (important), entrez ces deux commandes une par une :

BAT (Batchfile)
FOR %F IN ("%SystemRoot%\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientTools-Package~*.mum") DO (DISM /Online /NoRestart /Add-Package:"%F")
FOR %F IN ("%SystemRoot%\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientExtensions-Package~*.mum") DO (DISM /Online /NoRestart /Add-Package:"%F")

Bref, une fois le Group Policy Editor ouvert, allez dans

Computer Configuration -> Windows Settings -> Security Settings -> Account Policies -> Password Policy. 

Sur la droite vous aurez l’option « Maximum password age » qui est normalement à 42 jours, il faudra la mettre à 0, tout simplement.

Puis, on ne sait jamais, on va vérifier au passage que l’user a bien les droits de logon as service. Ca serait con quand même.

Toujours dans le même Group Policy Editor, allez dans

Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> User Rights Assignement

Vérifiez que votre utilisateur est bien enregistré dans l’option « Log on as a service ».

Réactiver la validité du mot de passe

C’est la partie la plus simple. Déconnectez vous de votre session avec un bon logout des familles, et reconnectez vous pour cette fois ci avec votre mot de passe.

Et paf. La validité du mot de passe a été réactivé, et cette fois-ci, elle n’expirera plus. Le service en question ne m’a plus embêté et a bien accepté le login de mon compte Windows.

Catégories
Tutos

Add Portainer Edge Agent to Docker Desktop Windows 11

If you want to connect your portainer to a Portainer Server, you will have to adapt your code to windows

Bash
docker run -d \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /var/lib/docker/volumes:/var/lib/docker/volumes \
--restart always \
-e EDGE=1 \
-e EDGE_ID=YOURID \
-e EDGE_KEY=YOURKEY \
-e EDGE_INSECURE_POLL=1 \
--name portainer_edge_agent \
portainer/agent:latest
Catégories
Tutos

Ajouter la prise en charge du RTMPS à un serveur NGINX RTMP

Depuis l’abandon par Facebook Live du RTMP pour son homologue sécurisé RTMPS, le module RTMP de NGINX ne fonctionne plus pour renvoyer son flux vidéo sur Facebook. Et Twitter va peut-être suivre la même voie….

Il existe un moyen très simple de créer un proxy sécurisé sur son serveur Debian ou Windows afin d’encapsuler les données dans le protocole sécurisé, puis de le renvoyer vers les serveurs Facebook ou Twitter. Et voici comment faire.

L’idée est d’installer stunnel (https://www.stunnel.org/downloads.html sur Windows):

Bash
apt-get install stunnel4 -y

Sur linux, il va falloir l’activer en modifiant le fichier « /etc/default/stunnel4 » :

Bash
nano /etc/default/stunnel4

Ajoutez ou modifier la ligne :

Bash
ENABLE=1

Ensuite, créez / modifiez le fichier stunnel.conf (sur Windows il se trouve dans le dossier C:\Program Files (x86)\stunnel\config)

Bash
nano /etc/stunnel/stunnel.conf

Ajoutez y cela :

Bash
pid = /var/run/stunnel4/stunnel.pid
output = /var/log/stunnel4/stunnel.log

setuid = stunnel4
setgid = stunnel4

socket = r:TCP_NODELAY=1
socket = l:TCP_NODELAY=1

debug = 4

[fb-live]
client = yes
accept = 1936
connect = live-api-s.facebook.com:443
verifyChain = no

[twitter]
client = yes
accept = 1937
connect = fr.pscp.tv:443
verifyChain = no

Pour Windows, il suffit juste de rajouter cela :

Bash
[fb-live]
client = yes
accept = 1936
connect = live-api-s.facebook.com:443
verifyChain = no

[twitter]
client = yes
accept = 1937
connect = fr.pscp.tv:443
verifyChain = no

Enregistrez puis faites en sorte de démarrer stunnel au démarrage puis redémarrez le service :

Bash
systemctl enable stunnel4.service
systemctl restart stunnel4.service

Pour Windows, dans le dossier « stunnel » du menu Démarrage, cliquez sur « Service Install ». Le service Windows se chargera alors au démarrage.

Voilà ! Il n’y a plus qu’à changer votre fichier de configuration de NGINX ! Voici quelques exemples d’applications :

Bash
application live_facebook {
live on;
record off;
push rtmp://127.0.0.1:1936/rtmp/VOTRE_KEY_FACEBOOK;
}
Bash
application live_twitter {
live on;
record off;
push rtmp://127.0.0.1:1937/x/VOTRE_KEY_TWITTER;
}