informatique:windows:powershell
Table of Contents
Powershell
Autoriser l'exécution des scripts :
set-executionpolicy remotesigned
Lancer un script Powershell à partir d'un Batch
Powershell.exe -executionpolicy remotesigned -File NOMDUSCRIPT.ps1
Lancer un script Powershell à partir d'un chemin UNC
Attention, c'est très sale :
Powershell.exe -NoProfile -ExecutionPolicy bypass -File “\\IP_DU_SERVEUR\OU\EST\LE\script.ps1”
Source : https://superuser.com/questions/106360/how-to-enable-execution-of-powershell-scripts
Tester la présence d'un dossier
$dossier = “%userprofile%\path\le\chien” if (Test-Path -Path $dossier) { “Le dossier $dossier !”} else { “Création du dossier $dossier” mkdir $dossier }
Télécharger un fichier
$url = http://url_du_fichier Invoke-WebRequest -Uri $url -OutFile C:\Ou\va\le\fichier\fichier.prout
Créer un raccourci
$WshShell = New-Object -ComObject WScript.Shell $Shortcut = $WshShell.CreateShortcut(“$env:PUBLIC\Desktop\Machin.lnk”) $Shortcut.TargetPath = “C:\ou\est\le\fichier\Machin.exe”$Shortcut.Save()
Créer plusieurs comptes / activer
# On met les comptes dans un tableau $comptes = @(“utilisateur”,“toto”,“Administrateur”) ForEach ($compte in $comptes) { $op = Get-LocalUser | Where-Object {$_.Name -eq $compte} if ( -not $op) { “Création du compte $compte…” $password = Read-Host “Saisir le mot de passe du compte $compte (rien si pas de mot de passe)” -AsSecureString New-LocalUser -Name $compte -Password $password -AccountNeverExpires -UserMayNotChangePassword Add-LocalGroupMember -Group “Administrateurs” -Member $compte } else { “Le compte $compte existe déjà” if ((Get-LocalUser $compte).Enabled) { “Le compte $compte est déjà activé” } else { “Activation du compte $compte…” Enable-LocalUser -Name $compte “Le compte $compte est activé” } } } Set-LocalUser -Name 'Toto' -FullName “Jean-Michel Toto”
Désactiver et activer des trucs
# Désactiver UAC New-ItemProperty -Path HKLM:Software\Microsoft\Windows\CurrentVersion\policies\system -Name EnableLUA -PropertyType DWord -Value 0 -Force # Désactiver pare-feu sur tous les profils Set-NetFirewallProfile -Profile * -Enabled False # Désactivation smart-screen Set-ItemProperty -Path “HKLM:\Software\Microsoft\Windows\CurrentVersion\Explorer” -Name “SmartScreenEnabled” -Type String -Value “Off”Set-ItemProperty -Path “HKCU:\Software\Microsoft\Windows\CurrentVersion\AppHost” -Name “EnableWebContentEvaluation” -Type DWord -Value # Désactivation OOBE Set-ItemProperty -Path “HKLM:\Software\Microsoft\Windows\CurrentVersion\OOBE” -Name “DisablePrivacyExperience” -Type DWORD -Value 1 -Force Set-ItemProperty -Path “HKLM:\Software\Microsoft\Windows\CurrentVersion\OOBE” -Name “PrivacyConstentStatus” -Type DWORD -Value 1 -Force Set-ItemProperty -Path “HKLM:\Software\Microsoft\Windows\CurrentVersion\OOBE” -Name “SkipMachineOOBE” -Type DWORD -Value 1 -Force # Activation client SMBv1 Enable-WindowsOptionalFeature -Online -FeatureName “SMB1Protocol-Client” -All # Installation de .NET3.5 Enable-WindowsOptionalFeature -Online -FeatureName “NetFx3”
Intégrer un poste à un domaine
Add-Computer -DomainName DOMAINE.LOCAL -Credential DOMAINE\administrateur -Restart -Force
Récupérer le GUID des volumes
GWMI -namespace root\cimv2 -class win32_volume | FL -property DriveLetter, DeviceID
informatique/windows/powershell.txt · Last modified: 2022/06/10 14:41 by yahiko