Skip to content

Configuration réseau

Changer l'adresse Ip et la configuration DNS

Set-DNSClientServerAddress -interfaceIndex 7 -ServerAddresses ("192.168.0.1",192.168.0.2)
#si aucun objet MSFT_DNSClientServerAddress avec la propriété «InterfaceIndex» égale à «1» n’a été trouvé tapé Get-NetIPInterface remplacer la valeur de 1 par le ifIndex donné (évité d’utiliser la commande shutdown)
New-NetIPAddress IPAddress 192.168.0.50 -DefaultGateway 192.168.0.254 -PrefixLength 24 -InterfaceIndex (Get-NetAdapter).InterfaceIndex

Connexion Public à Privé

  1. Obtenir le nom du réseau.
Get-NetConnectionProfile

get network name with powershell command

  1. Recherchez le nom de réseau dont vous souhaitez modifier le type et exécutez la commande suivante.
Set-NetConnectionProfile -Name "Network" -NetworkCategory Private

change network type with powershell command

Le "Réseau" est le nom de votre réseau et vous pouvez modifier la valeur du commutateur -NetworkCategory sur Public ou Privé.

Remarque : Si vous souhaitez modifier le type de réseau de privé à public, il vous suffit de saisir la commande ci-dessous à la place.

Set-NetConnectionProfile -Name "Network" -NetworkCategory Public

afficher le clé secrète wifi

Pour récupérer tous les réseaux connus avec netsh, vous pouvez simplement exécuter sur votre terminal:

netsh.exe wlan show profiles

Si vous recherchez une identification spécifique pour votre réseau Wi-Fi avec SSID appelé « Guest-5G », vous pouvez simplement exécuter:

netsh.exe wlan show profiles name="Guest-5G" key=clear

Afficher son IP public

Invoke-RestMethod -Uri ('https://ipinfo.io/')

Lister les connections actives

Via powershell :

Get-NetTCPConnection

Si on veut voire que les connexion RDP uniquement:

Get-NetTCPConnection | Where-Object { $_.LocalPort -eq 3389 }

Configuration système

Installer les outils RSAT

Get-WindowsCapability -Name RSAT* -Online | Add-WindowsCapability -Online

lister utilisateur

query user

Powershell a distance

Installer sa au préalable et le mettre dans c:\ comme dans notre exemple

https://docs.microsoft.com/fr-fr/sysinternals/downloads/psexec

Install le service a distant pour la cible

PsExec \\NOMDELACIBLE -s powershell Enable-PSRemoting -Force

se connecte à la cible :

enter-pssession -ComputerName NOMDELACIBLE

Robocopy

En gros:

robocopy <Source> <Destination> \[<File>\[ ...\]\] \[<Options>\]

/e pour les sous dossier

/r:0 pour skip les erreur

/mov couper coller

Source : robocopy

Gestionnaire de paquet Chocolatey

Installation de chocolatey en pwsh

Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))

Commande de base

choco search name
choco install
choco upgrade all -y
choco uninstall

Export / import d'application

choco export --output-file-path=C:\Users\username\Downloads\pkg.config
choco install <path-to-exported-file>

Liste d'application

chocolateypackageupdater
adobereader
PDFCreator
Windirtstat
Onedrive
Office365proplus --x86
microsoft-teams
microsoft-windows-terminal

pdfsam
pdfxchangeeditor
windows-10-update-assistant
windows-repair-toolbox
vboxguestadditions.install
dwgtrueview
syncbackfree
uget

Version de Windows

Fenêtre qui affiche la version de windows :

Winver
Apllete de commande powershell qui affiche de nombreuse info du poste
systeminfo

Installation silencieuse

Trouvé les paramètre silencieux de l'exécutable :

Installer universsal switch finder :

choco install ussf -y
ussf
Séléctionner le exe que l'on souhaite installer silencieusement (dans notre cas EShareClent.exe)

télécharger.png

Exécuter l'installateur :

Dans notre exemple si l'on souhaite l'installer concrètement (avec un profil admin) :

"C:\Users\username\Downloads\EShareClient.exe" /S

Exemple d'installation d'un MSI

Invoke-WebRequest https://files.albt.org/api/public/dl/7VhgkQYf?inline=true -OutFile TapCast_Sender_for_Windows_v3.0.05.msi
msiexec.exe /I C:\Users\WS-USERS\Documents\TapCast_Sender_for_Windows_v3.0.05.msi /quiet

suppression de fichier

takeown /r /f folder
rd -r "path"

Inscription au domaine

Add-Computer -Domain kherty.local -newname blabla -restart

Racourci powershell bypass

powershell.exe -ExecutionPolicy Bypass -File c:\data\winaero\winaero.ps1

ou

-noprofile -executionpolicy bypass -file C:\ProgramData\chocolatey\Upgrade-ChocoPackages.ps1

si on veut voir le message d'erreur on peut ajouter ceci :

C:\Windows\System32\cmd.exe /k C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy Bypass -File "c:\data\winaero\winaero.ps1"

Sauvegarder son mot de passe

$masecurestring = ConvertTo-SecureString -AsPlainText "monmdp" -force
$macle = $masecurestring | ConvertFrom-SecureString

$varCheminRepertoireScript = [System.IO.Path]::GetDirectoryName($MyInvocation.MyCommand.Definition)
out-file -filepath "C:\Users\username\AppData\Roaming\WindowsTerminal\monmdp.txt" -InputObject $macle #Ecriture du résultat dans le fichier MaCle.txt
Clear-History

Windows-Update

Set-ExecutionPolicy RemoteSigned
Install-Module PSWindowsUpdate
Import-Module PSWindowsUpdate
Install-WindowsUpdate -MicrosoftUpdate -AcceptAll 
Install-WindowsUpdate -NotCategory "Drivers","FeaturePacks" -AcceptAll 

Paramètre démarrage automatique supplémentaires

-AutoReboot

diskpart

Forcer la suppression d'une partition bootable :

delete partition override

Arrêt programmé

Reboot
shutdown /r
Arrêt simple
shutdown -s
Fermer la session
shutdown /l

/t timeout_in_seconds

Alternative à "sudo"

Via l'aplette de commande "gsudo"

choco install gsudo
gsudo cache on

WSL installation

wsl --install --distribution Debian

Windows Environment Path Variables

Voici une liste comprenant les commandes d'environnement Windows (par exemple, %temp%, %HomeDrive%, etc.

%AllUsersProfile% - Open the All User's Profile C:\ProgramData
%AppData% - Opens AppData folder C:\Users\{username}\AppData\Roaming
%CommonProgramFiles% - C:\Program Files\Common Files
%CommonProgramFiles(x86)% - C:\Program Files (x86)\Common Files
%HomeDrive% - Opens your home drive C:\
%LocalAppData% - Opens local AppData folder C:\Users\{username}\AppData\Local
%ProgramData% - C:\ProgramData
%ProgramFiles% - C:\Program Files or C:\Program Files (x86)
%ProgramFiles(x86)% - C:\Program Files (x86)
%Public% - C:\Users\Public
%SystemDrive% - C:
%SystemRoot% - Opens Windows folder C:\Windows
%Temp% - Opens temporary file Folder C:\Users\{Username}\AppData\Local\Temp
%UserProfile% - Opens your user's profile C:\Users\{username}
%AppData%\Microsoft\Windows\Start Menu\Programs\Startup - Opens Windows 10 Startup location for program shortcuts

Changer la durée de veille

  • Pour lister tout les profiles de puissance du PC :

Powercfg /L

Le mode de gestion de l’alimentation marqué d’un astérisque (*) est le mode de gestion de l’alimentation actif. télécharger_(4).png

  • Pour modifier le comportement du mode de gestion de l’alimentation sur batterie et lorsqu’il est branché, utilisez le commutateur /change comme indiqué ci-dessous...
    POWERCFG /CHANGE <SETTING> <VALUE>
    
    SETTING: specifies the power scheme setting you want to change
    VALUE: is the time out value in minutes.

The table below specifies valid values of SETTING and the settings each modifies.

| --- | --- | --- | | S/N | Power Sheme Setting | Description | | 1 | monitor-timeout-ac | Configure la valeur du délai d’expiration du moniteur lorsque l’ordinateur portable est branché à l’alimentation. | | 2 | monitor-timeout-dc | Le temps défini déterminera la durée d’inactivité pour éteindre le moniteur si l’ordinateur portable est sur batterie. | | 3 | disk-timeout-ac | Ce paramètre détermine les paramètres de délai d’inactivité pour le disque dur à éteindre si l’ordinateur portable est connecté à l’alimentation | | 4 | disk-timeout-dc |Cela s’applique également au délai d’expiration du disque, mais cela détermine les paramètres de délai d’expiration lorsque l’ordinateur portable est sur batterie. | | 5 | standby-timeout-ac | Pour définir les paramètres de délai d’expiration afin de mettre l’ordinateur portable en veille lorsqu’il est branché à l’alimentation, utilisez ce paramètre | | 6 | disk-timeout-dc | Définit le délai d’attente de l’ordinateur portable lorsque l’ordinateur portable est sur batterie. | | 7 | hibernate-timeout-ac | Cela détermine le délai d’expiration de la mise en veille prolongée lorsque vous êtes branché à l’alimentation | | 8 | hibernate-timeout-dc | Définit le délai d’expiration de la mise en veille prolongée lorsque l’ordinateur portable est sur batterie |

  • Pour modifier le délai d’affichage de mon ordinateur portable à 5 minutes sur batterie, tapez cette commande. Appuyez ensuite sur Entrée.

Exemple :

POWERCFG /CHANGE monitor-timeout-dc 5
Voici le résultat après execution : télécharger_(6).png

Afficher le nombre de cœur

Get-WmiObject -Class Win32_Processor | Select-Object -Property Name, Number*

Récupérer les permissions de manière récursive

takeown.exe /r /F C:\cygwin64\*

Résolution de problème

Powershell Repair Domain

Test-ComputerSecureChannel -Repair -Credential "admin"

Passser de windows leagacy à eufi

A lancer dans le CD d'installation Windows :

mbr2gpt.exe /convert /disk:0 /allowfullOS

Réparer l'image système windows

sfc /scannow
dism /online /cleanup-image /CheckHealth
dism /online /cleanup-image /scanhealth
dism /online /cleanup-image /restorehealth
chkdsk

Corriger l’approbation via PowerShell

Dans un premier tant il faudra faire l’étape de débrancher le câble réseau à votre utilisateur afin qu’il puisse se connecter à sa session. Une fois fait, il rebranche la connexion réseau et vous avez ainsi la main sur le poste à distance.

À partir de ce moment-là, faites l’ouverture d’une console PowerShell en tant qu’Administrateur. Puis renseigner la commande suivante :

Test-ComputerSecureChannel

Celle-ci vous retournera un résultat comme ci-dessous, ceci indiquant bien que la relation d’approbation ne se réalise plus.

Une fois la validation de ce dysfonctionnement, nous allons ajouter les arguments suivants à notre commande précédente :

Test-ComputerSecureChannel -Repair -Credential administrateur@domain.local

Le mot de passe du compte que vous utilisez pour faire la commande vous sera demandé : télécharger_(1).png

Ici, je renseigne le compte administrateur, mais vous pouvez indiquer tout autre compte qui possède les droits nécessaires pour faire l’ajout d’un ordinateur au domaine.

Une fois ce dernier renseigner, la commande vous retournera le résultat ci-dessous :

télécharger_(3).png

Faites le redémarrage de l’ordinateur et votre utilisateur va pouvoir de nouveau se connecter à sa session sans avoir le désagréable message d’erreur suivant : La relation d’approbation entre cette station de travail et le domaine principal a échoué

Lien utiles :

Outil de mise à jour de pilote Nvidia

Source : GitHub

Connexion mutltiple rdp

source : GitHub

Récupérer des Images Windows

Source : rg-adguard.net

Parcourir des exemples de code powershell

Source : Microsoft

Forcer les mises a jours via les disques d'instalation

Source : Github

Ajouter l'Alias Manuellement

Add-Type -Path "le chemin du dll ou de "l'executaple"

Wireguard

Tunnel persistant de wiregard

# Arrêter le service existant (si actif)
wg-quick down peer_desktop

# Installer le service WireGuard
wireguard /installtunnelservice "C:\Users\name\AppData\Local\peer_desktop.conf"

# Démarrer et activer le service
sc config "WireGuardTunnel$peer_desktop"
sc start "WireGuardTunnel$peer_desktop"