User Tools

Site Tools


informatique:windows:powershell

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
informatique:windows:powershell [2020/02/28 09:42] – external edit 127.0.0.1informatique:windows:powershell [2023/09/14 08:45] (current) yahiko
Line 1: Line 1:
 ====== Powershell ====== ====== Powershell ======
 [[informatique:windows:powershell:excel-separer-feuilles|Excel : séparer les feuilles dans des fichiers]] [[informatique:windows:powershell:excel-separer-feuilles|Excel : séparer les feuilles dans des fichiers]]
 +
 +===== Autoriser l'exécution des scripts : =====
 +<code powershell>
 +set-executionpolicy remotesigned
 +</code>
 +
 +===== Lancer un script Powershell à partir d'un Batch =====
 +<codedoc code:batch>
 +Powershell.exe -executionpolicy remotesigned -File NOMDUSCRIPT.ps1
 +</code>
 +
 +===== Lancer un script Powershell à partir d'un chemin UNC =====
 +Attention, c'est très sale : 
 +<code batch>
 +Powershell.exe -NoProfile -ExecutionPolicy bypass -File "\\IP_DU_SERVEUR\OU\EST\LE\script.ps1"
 +</code>
 +Source : [[https://superuser.com/questions/106360/how-to-enable-execution-of-powershell-scripts]]
 +
 +===== Tester la présence d'un dossier =====
 +<code powershell>
 +$dossier = "%userprofile%\path\le\chien"
 +
 +if (Test-Path -Path $dossier) {
 + "Le dossier $dossier !"
 +} else {
 +    "Création du dossier $dossier"
 + mkdir $dossier
 +}
 +</code>
 +
 +===== Télécharger un fichier =====
 +<code powershell>
 +$url = http://url_du_fichier
 +
 +Invoke-WebRequest -Uri $url -OutFile C:\Ou\va\le\fichier\fichier.prout
 +</code>
 +
 +===== Créer un raccourci =====
 +<code powershell>
 +$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()
 +</code>
 +
 +===== Créer plusieurs comptes / activer =====
 +<code powershell>
 +# 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"
 +</code>
 +
 +===== Désactiver et activer des trucs =====
 +<code powershell>
 +# 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"
 +</code>
 +
 +===== Intégrer un poste à un domaine =====
 +<code powershell>
 +Add-Computer -DomainName DOMAINE.LOCAL -Credential DOMAINE\administrateur -Restart -Force
 +</code>
 +
 +===== Récupérer le GUID des volumes =====
 +<code powershell>
 +GWMI -namespace root\cimv2 -class win32_volume | FL -property DriveLetter, DeviceID
 +</code>
 +
  
informatique/windows/powershell.1582882973.txt.gz · Last modified: 2020/02/28 09:42 by 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki