« PowerShell » : différence entre les versions

Aller à la navigation Aller à la recherche
mAucun résumé des modifications
Ligne 81 : Ligne 81 :
Mme De Fratte appartient au service Export
Mme De Fratte appartient au service Export
</pre>
</pre>
== Liste des droits sur le contenu d'une arborescence ==
<source>
# Liste des droits de sécurité sur les dossiers et fichiers d'une arborescence
# Création d'un fichier
$FichierDestination = "C:\Support\PermissionListeTest.csv"
$CheminRacine = "C:\Support\"
# Entête de document
$FichierEntete = "Chemin;IdentityReference;AccessControlType;IsInherited;InheritanceFlags;PropagationFlags;FilesystemRights"
$FichierExiste = Test-Path $FichierDestination 
If ($FichierExiste -eq $True) {Remove-Item $FichierDestination} 
Add-Content -Encoding UTF8 -Value $FichierEntete -Path $FichierDestination
$DossierListe = dir $CheminRacine -recurse | Where {$_.psiscontainer -eq $True} 
Foreach ($Dossier in $DossierListe) {
  $DroitListe = Get-ACL $Dossier.fullname | ForEach-Object { $_.Access }
  Foreach ($Droit in $DroitListe) {
    $FichierLigne = ($Dossier.Fullname,
                    $Droit.IdentityReference,
                    $Droit.AccessControlType,
                    $Droit.IsInherited,
                    $Droit.InheritanceFlags,
                    $Droit.PropagationFlags,
                    ($Droit.FileSystemRights -replace ',', '/' )
                    ) -join ";"
    Add-Content -Encoding UTF8 -Value $FichierLigne -Path $FichierDestination
    }
}
</source>
=== Autre ===
Pour la mise à jour de compte utilisateur, attribut titre et numéro de mobile, d'après le nom du compte et une fichier :
* <source inline>Import-Csv "D:\script\util-maj-tel.csv" | Foreach { Set-ADUser -Identity $_.SamAccountName –Title $_.Title -MobilePhone $_.MobilePhone }</source>
Copier les groupes de sécurité d'un compte vers un autre !
* <source inline>Get-ADUser -Identity "comptesource" -Properties memberof | Select-Object -ExpandProperty memberof | Add-ADGroupMember -Members "comptecible"</source>
=== Ressource ===
* https://www.it-connect.fr/
* https://www.tutos.eu/
Installer le module Active Directory sur Windows 10 et Windows Server
* https://www.it-connect.fr/chapitres/installer-le-module-active-directory-sur-windows-10-et-windows-server/
Gérer les utilisateurs Active Directory avec PowerShell
* https://www.it-connect.fr/modules/gerer-les-utilisateurs-active-directory-avec-powershell/
Créer un utilisateur dans l’Active Directory avec PowerShell
* https://www.it-connect.fr/chapitres/creer-un-utilisateur-dans-lactive-directory-avec-powershell/
Gérer les utilisateurs et ordinateurs inactifs dans l’Active Directory
* https://www.it-connect.fr/gerer-les-utilisateurs-et-ordinateurs-inactifs-dans-lactive-directory/


== Impression ==  
== Impression ==  

Version du 21 décembre 2022 à 14:29

PowerShell est un langage de programmation pour les systèmes Microsoft Windows.

Référence


Site de Marie Pascal Delamare, BTS SIO / STS SIO

Document

Gestion des path sous PowerShell, PDF, 31 pages :

Source de script

Gérer les autorisations NTFS avec PowerShell :

Copie de fichiers avec BITS (Background Intelligent Transfer Service) :

PowerShell : convertir PS1 en EXE ; création d'un exécutable :

Interface graphique

Windows10Debloater

Script si problème mise à jour Windows

Le service "Windows Update" s'appelle wuauserv :

  • Stop-Service -Name wuauserv
  • Start-Service -Name wuauserv
  • Set-Service -Name wuauserv -StartupType Automatic
  • Set-Service -Name wuauserv -StartupType Manual
  • Set-Service -Name wuauserv -StartupType Disabled

Script de mise à jour d'Active Directory

Lire les lignes d'un fichier

Avec le fichier suivant C:\tmp\source.csv :

compte;civilité;nom;prénom;société;service
dupondp;M.;Dupond;Pierre;MaSociété;SI
martinj;M.;Martin;Jean;MaSociété;Commercial
defrattec;Mme;De Fratte;Catherine;MaSociété;Export

Premier script :

$fichier = Import-Csv "C:\tmp\source.csv" -Delimiter ";"
Foreach ($ligne in $fichier) {
    Write-Host $ligne
    }

Le résultat du premier script est :

@{compte=dupondp; nom=Dupond; prénom=Pierre; société=MaSociété; service=SI}
@{compte=martinj; nom=Martin; prénom=Jean; société=MaSociété; service=Commercial}
@{compte=defrattec; nom=De Fratte; prénom=Catherine; société=MaSociété; service=Export}

Deuxième script :

Import-Csv "C:\tmp\source.csv" -Delimiter ";" | Foreach { Write-Host ("{0} {1} appartient au service {2}" -f $_.civilité, $_.nom, $_.service) }

Le résultat du deuxième script est :

M. Dupond appartient au service SI
M. Martin appartient au service Commercial
Mme De Fratte appartient au service Export

Impression

Supprimer toutes les fichiers des files d'attente d'impression :

Stop-Service Spooler 
Remove-Item "C:\Windows\System32\spool\PRINTERS\*.*" -Force 
Start-Service Spooler