Je vais vous expliquer rapidement comment créer des modules Powershell. Ceci peut-être utile par exemple lorsque vous effectuez une tâches répétitives et qu’au lieu de lancer le script, vous appeler directement un commandlet. Dans un premier temps, écrivez votre script. Pour ma part, je vais faire simple, et je vais écrire un bout de code qui permet de relever certaines informations d’un ordinateur :
function ComputerInformations {
<#
.SYNOPSIS
Get informations about your computer like Manufacturer, OS Version, Memory, etc.
.DESCRIPTION
See synopsis.
.EXAMPLE
ComputerInformations 'localhost'
.PARAMETER computername
The computer name to query. Just one.
#>
[CmdletBinding()]
param (
[Parameter(Mandatory=$True,
ValueFromPipeline=$True,
ValueFromPipelineByPropertyName=$True)]
[Alias('host')]
[ValidateLength(3,30)]
[string[]]$computername
)
foreach ($computer in $computername) {
$system = Get-WmiObject -Class Win32_ComputerSystem -ComputerName localhost
$os = Get-WmiObject -class Win32_operatingsystem -computer localhost -erroraction stop
$memory = [math]::round(($system.TotalPhysicalMemory / 1GB),2)
$info = @{
'ComputerName'=$computer;
'OSVersion' = $os.caption;
'OSArchitecture' = $os.osarchitecture;
'Manufacturer' = $system.Manufacturer;
'Name' = $system.Name;
'Memory (GB)' = $memory;
}
$obj = New-Object -TypeName PSObject -Property $info
write-output $obj
}
}
Sauvegardez maintenant ce script avec l’extension .psm1 .
Pour connaître où sont stockés les modules, exécutez la commande suivante :
$env:PSModulePath
[Environment]::GetEnvironmentVariable("PSModulePath")
Pour ma part, j’ai le retour suivant :
Pour installer ce module sur un ordinateur, je vais créer un dossier ComputerInformations dans le chemin suivant :
C:\windows\system32\WindowsPowerShell\v1.0\Modules\
Ici, je vais déposer le fichier ComputerInformations.psm1.
Lancez Powershell, et tapez le nom de votre fonction. Le module doit être chargé directement.
Si je souhaite obtenir de l’aide :
Et des exemples :
Pour installer le module pour une session défini, déposez le fichier ComputerInformations.psm1 dans la partie Documents de l’utilisateur. Si les dossiers n’existent pas, n’hésitez pas à les créer :
C:\Users\fappointa\Documents\WindowsPowerShell\Modules
Si vous avez des questions ou que vous désirez plus d’informations, n’hésitez pas.