Commandes de base PowerShell

Source: http://windowsforensique.com/index.php/admin-powershell/fondamentaux/cde...

Get-Help

Source: http://windowsforensique.com/index.php/admin-powershell/fondamentaux/cde...

liste de toutes les applets de commande dont le verbe commence par Get  : get-help –name get-* -category cmdlet

Avec powershell vous avez trois niveaux d’aide: 1.L’aide standard   2.L’aide détaillée : -detailed   3.L’aide complète : -full

​Possibilité d’invoquer des examples : -examples    ex: Ps c:\> get-help get-command -examples

 

source: www.dsfc.net/wp-content/uploads/supports/support-powershell-3-0.pdf

Get-Help about
Get-Help Set-Service –examples
get-help Set-Service –detailed
get-help Set-Service -full
Get-Help Set-Service –online
Get-Help *Service*
Get-Help *s* -Category Alias
Get-Command -Verb Get
Get-Command -Module NetTcpIpGet-Help * -Parameter ComputerName

Actualiser l'aide: Update-Help

Méthodes et propriétés associées à une cmdlet

Get-Date|Get-Member
Get-Date | Get-Member -membertype methods
Get-Date | Get-Member -membertype properties
Get-Process | Get-Member -membertype aliasproperty
(Get-Process).ProcessName
(Get-Host).CurrentCulture | format-list -property *
(Get-Host).CurrentCulture.TextInfo.ANSICodePage
Get-Process | Sort-Object -Property CPU
Get-Process | Sort-Object -Property CPU -Descending
Get-Process | Sort CPU


Afficher les propriétés d'un cmdlet

Get-Process | Select-Object ProcessName,PrivateMemorySize

Mode GUI

Show-Command
Show-Command -Name Get-Process

Afficher les méthodes et propriétés d'un objet

L'utilisation du connecteur MySQL .Net suppose que vous l'ayez téléchargé et installé au préalable.
[void] [system.reflection.Assembly]::LoadFrom(“C:\Program Files\MySQL\MySQL Connector Net 6.3.6\Assemblies\v2.0\MySql.Data.dll”)
New-Object MySql.Data.MySqlClient.MySqlConnection | Get-Member

Les fournisseurs PowerShell : Get-PSProvider

Get-PSProvider
Get-ChildItem Env:
Set-Location Env:
New-Item –Name Test –Value 'Mon test à moi'
Get-Content Env:Test
Remove-Item Env:Test

Historique

Start-Transcript
Stop-Transcript

Get-Command : connaître toutes les commandes intégrées à Powershell (applet de commande, scripts, alias et application native)

Par ex: get-command note*    

Liste des commandes dont le verbe commance par Write :  PS c:\> get-command –verb -write
Liste des commandes qui s’appliquent aux objets :             Ps c:\> get-command –noun object
Obtenir des commandes d’un certain type (les plus utilisés sont : Alias, Function, cmdlet, externalscript, application) ​Ps c:\> get-command –commandtype -Function

​Lorsque Get-command est invoquée avec des éléments autres que des Cmdlet les informations retournées sont légèrement différentes : Ps c:\> get-command ipconfig |format-list *

​​​Get-Member (lister toutes les propriétés et méthodes d’un objet ainsi que son type)

Ps c:\> $variable ='ma chaine'
Ps c:\> $variable | get-member

Voici une liste non exhaustive d’anciennes commandes réutilisables dans Powershell : dir, md, cd, move, ren, cls, copy

 

New-item (alias: ni, md) pour créer des répertoires et des fichiers

Itemtype : file ou directory   Ex:

Création d’un répertoire « temp » à la racine du disque  c:         Ps c:\> new-Item -Itemtype directory -path c: -name temp
Si notre dossier avait contenu un espace mettre des guillemet   Ps c:\> new-Item -name ‘temp powershell’ –Itemptype directory –path c:

Remove-Item (alias ri, rm, rmdir, rd, erase, del)

Ex:  remove-item c:\temp\*.txt

Suppression de tous les fichiers contenus dans une arborescence de dossier dont l’extension est « *.txt »   Ps c:\>Get-childitem c:\temp\* -include *.txt -recurse | remove-item
​Pour supprimer un fichier système caché ou en lecture seule : -force   Ex: Ps c:\>remove-item monfichiercache.txt –force

​Deux paramètres :  -Whatif : Mode simulation   ;   -Confirm : demande une confirmation

move-Item (alias mi, move, mv)

Déplacement d’un fichier :  Ps c:\>move-item –path *.txt –destination ‘monrepertoire’ –force     ou    Ps c:\>move-item *.txt ‘monrepertoire’ –force
Déplacement d’un répertoire : Ps c:\>move-item ‘repSource’ ‘repdestination’

​Attention : si le répertoire destination n’est pas créé au préalable il s’agit d’un renommage.

Rename-Item (alias ren, mi) renommer un fichier ou un répertoire

Renommer un répertoire Ps c:\>rename-item –path  ‘monrepertoire1’ ‘monrepertoire2’     ou     Ps c:\>rename-item  ‘monrepertoire1’ ‘monrepertoire2’
Renommer un fichier : Ps c:\>rename-item –path c:\chemin\fichierrenom.txt –newname nouveaunom.txt   ou   Ps c:\>rename-item c:\chemin\fichierrenom.txt nouveaunom.txt

 

Copy-Item (alias cpi, cp, copy)

​Permet de renommer un fichier ou un répertoire voir les deux à la fois

Copie un fichier d’un répertoire source vers un répertoire destination :
Ps c:\>copy-item –path  c:\chemin1\fichier.txt –destination c:\chemin2
Ps c:\>copy-item c:\chemin1\fichier.txt c:\chemin2

​Copie une arborescence de répertoire :   ​Ps c:\>copy-item –path repsource –destination repdestination -recurse

Copy-item crée automatiquement le répertoire de destination s'il n’existe pas.


Toutes les commandes vues précédemment permettent la manipulation :

-De la base de registre
-Des variables
-Des variables d’environnement
-Des alias
-De la base des certificats X509 de l’ordinateur
-Des fonctions
-Du système de fichier.

Ces ensembles s ’appellent dans le jargon powershell des « fournisseurs ». Le terme utilisé est « Provider » ou « PsProvider ».