function Get-WMIHelp { <# .SYNOPSIS Affiche des informations sur les classes et propriétés WMI .DESCRIPTION Affiche des informations sur les classes et propriétés WMI .PARAMETER InputObject Spécifie un objetsreprésentant l'objet à récupérer. Entrez une variable contenant l'objets, ou tapez une commande ou une expression permettant d'obtenir cet objet. Vous pouvez également diriger un objet vers Get-WMIHelp. .PARAMETER Class Spécifie le nom d'une classe WMI .PARAMETER Path Spécifie le chemin d'accès de l'emplacement où le fichier de sortie éléments doit être copiés. .EXAMPLE PS C:\> Get-WmiObject -List win32_Bios | Get-WMIHelp Cette commande obtient toutes les données disponibles sur les paramètres de la classe WMI 'win32_Bios' .EXAMPLE PS C:\> Get-WMIHelp -InputObject ([WMIClass]'win32_process') .EXAMPLE PS C:\> $WMI = Get-WmiObject -List win32_share PS C:\> Get-WMIHelp -InputObject $WMI -Path Z:\shareinfo.htm La première commande obtient les méta données de la classe WMI 'win32_share', puis elle les stocke dans la variable $WMI. La deuxième commande utilise le paramètre InputObject pour passer l'objet qui est stocké dans la variable $WMI à la fonction Get-WMIHelp. Le paramètre 'Path' permet de spécifier un chemin pour stocké notre fichier "htm" .EXAMPLE PS C:\> Get-WMIHelp -Class "win32_OperatingSystem" -path c:\os.htm .LINK about_WMI_Cmdlets Get-WmiObject .INPUTS System.Management.ManagementClass .NOTES Author: Walid Toumi Blog: http://walidtoumi.blogspot.com Date: 2/28/2012 Keywords: WMI - Get-WmiObject - Help #> [CmdletBinding(DefaultParameterSetName='InputObject')] param( [Parameter( ValueFromPipeLine=$True, Mandatory=$True, Position=0, ParameterSetName='InputObject')] [ValidateNotNullOrEmpty()] [System.Management.ManagementClass] ${InputObject}, [Parameter(Position=0,ParameterSetName='class')] ${Class}, [System.String] ${Path}) Try{ switch ($PSCmdlet.ParameterSetName) { "Class" { $null=Get-WmiObject -Class $Class -ea 'stop' $IS_WMI_CLASS = $Class } "InputObject" { $IS_WMI_CLASS = $InputObject.__CLASS } } $WMIClass = Get-WmiObject -List $IS_WMI_CLASS -Amended $Desc = $WMIClass.Qualifiers['Description'] $WMIProperties = $WMIClass.PSbase.Properties $Head=@" "@ $Body = @" WMI CLASS
$($WMIClass.__Class)
WMI CLASS DESCRIPTION
$($Desc.Value)
PARAMETERS
"@ $WMIHelp = $WMIProperties | ForEach-Object { $desc = $($WMIClass.psbase.Properties["$($_.Name)"]).Qualifiers['Description'] New-Object PSObject -Property @{ Description = $desc.value Type = $_.Type Name = $_.Name } } <# end foreach #> | ConvertTo-Html -Property name,Type,description -Head $Head -Body $Body } catch { Write-Error $_ } finally { $WMIHelp > $env:TEMP\wmihelp.htm if($Path) { Try{ Move-Item $env:TEMP\wmihelp.htm $Path -ea 'stop' } catch { Write-Error $_ } } # end if else { Invoke-Item -Path $env:TEMP\wmihelp.htm } # end else } # end finally }
samedi 10 mars 2012
Get-WMIHelp : un Get-Help pour WMI
salut,
dans le post précédent, la fonction Get-WMIHelp nous permettait une aide afficher dans la console..dans ce post on va rendre cette aide plus conviviale..
voici la nouvelle fonction
Inscription à :
Publier les commentaires (Atom)
Aucun commentaire:
Enregistrer un commentaire