Question
Commande Update-type
- Artis
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 2
- Remerciements reçus 0
il y a 16 ans 11 mois #4552
par Artis
Zebul
Commande Update-type a été créé par Artis
Bonjour,
Débutant en la matière, je me suis acheté windows powershell.Il y a un chapitre qui s'appelle:\"Ajout de méthodes et propriétés personnalisées\"
On peut générer des pages html et les faire prendre en compte par powershell.
Voici la version de powershell que j'utilise
Name : Windows PowerShell ISE Host
Version : 2.0
j'ai une page qui se nomme MSDN.types.ps1xml et qui contient ce code source.
<?xml version=\"1.0\" encoding=\"utf-8\" ?>
<Types>
<Type>
<Name>System.Object</Name>
<Members>
<ScriptMethod>
<Name>GetMSDNHelp</Name>
<Script>
$culture = $host.currentculture
if ($args[0]) { $culture = $args[0] }
if (($global:MSDNViewer -eq $null) -or
($global:MSDNViewer.HWND -eq $null))
{
$global:MSDNViewer = new-object -ComObject
InternetExplorer.Application
}
$Uri = ’msdn2.microsoft.com/’ + $culture +
’/library/’ +
$this.GetType().FullName + ’.ASPX’
$global:MSDNViewer.Navigate2($Uri)
$global:MSDNViewer.Visible = $TRUE
$ShellObj = new-object -com WScript.Shell
$ShellObj.AppActivate((get-process | where
{$_.MainWindowHandle -eq $global:MSDNViewer.HWND}).Id)
</Script>
</ScriptMethod>
</Members>
</Type>
</Types>
Quand je fais Update-TypeData MSDN.types.ps1xml, voici l'erreur que j'ai ?:
Update-TypeData : Missing closing ')' in expression.
At line:1 char:16
+ Update-TypeData <<<< .\MSDN.types.ps1xml
+ CategoryInfo : InvalidOperation: (
[Update-TypeData], ParseException
+ FullyQualifiedErrorId : TypesXmlUpdateException,Microsoft.PowerShell.Commands.UpdateTypeDataCommand
J'ai essayé sous doute les formes , regarder aide , internet , je ne vois pas de quoi vient mon souci.
Une piste: mon OS est en anglais au niveau paramètre régionaux
En vous remerciant si qqn peut m'aider sur ce sujet.
Débutant en la matière, je me suis acheté windows powershell.Il y a un chapitre qui s'appelle:\"Ajout de méthodes et propriétés personnalisées\"
On peut générer des pages html et les faire prendre en compte par powershell.
Voici la version de powershell que j'utilise
Name : Windows PowerShell ISE Host
Version : 2.0
j'ai une page qui se nomme MSDN.types.ps1xml et qui contient ce code source.
<?xml version=\"1.0\" encoding=\"utf-8\" ?>
<Types>
<Type>
<Name>System.Object</Name>
<Members>
<ScriptMethod>
<Name>GetMSDNHelp</Name>
<Script>
$culture = $host.currentculture
if ($args[0]) { $culture = $args[0] }
if (($global:MSDNViewer -eq $null) -or
($global:MSDNViewer.HWND -eq $null))
{
$global:MSDNViewer = new-object -ComObject
InternetExplorer.Application
}
$Uri = ’msdn2.microsoft.com/’ + $culture +
’/library/’ +
$this.GetType().FullName + ’.ASPX’
$global:MSDNViewer.Navigate2($Uri)
$global:MSDNViewer.Visible = $TRUE
$ShellObj = new-object -com WScript.Shell
$ShellObj.AppActivate((get-process | where
{$_.MainWindowHandle -eq $global:MSDNViewer.HWND}).Id)
</Script>
</ScriptMethod>
</Members>
</Type>
</Types>
Quand je fais Update-TypeData MSDN.types.ps1xml, voici l'erreur que j'ai ?:
Update-TypeData : Missing closing ')' in expression.
At line:1 char:16
+ Update-TypeData <<<< .\MSDN.types.ps1xml
+ CategoryInfo : InvalidOperation: (
+ FullyQualifiedErrorId : TypesXmlUpdateException,Microsoft.PowerShell.Commands.UpdateTypeDataCommand
J'ai essayé sous doute les formes , regarder aide , internet , je ne vois pas de quoi vient mon souci.
Une piste: mon OS est en anglais au niveau paramètre régionaux
En vous remerciant si qqn peut m'aider sur ce sujet.
Zebul
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 16 ans 11 mois #4556
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Commande Update-type
Salut,
zebul_54 écrit:
zebul_54 écrit:
Le mieux est d'utiliser une version corrigée car l'url pointant MSDN a changé :
[code:1]
<?xml version=\"1.0\" encoding=\"utf-8\" ?>
<!-- *******************************************************************
Permet de retrouver dans la MSDN la page de description d'une classe
******************************************************************** -->
<Types>
<Type>
<Name>System.Object</Name>
<Members>
<ScriptMethod>
<Name>MSDN</Name>
<Script>
$culture = $host.currentculture
if ($args[0])
{
$culture = $args[0]
}
if (($global:MSDNViewer -eq $null) -or ($global:MSDNViewer.HWND -eq $null))
{
$global:MSDNViewer = new-object -ComObject InternetExplorer.Application
}
$Uri = \"msdn2.microsoft.com/\" + $culture + \"/library/\" +
$this.GetType().FullName + \"(VS.80).ASPX\"
$global:MSDNViewer.Navigate2($Uri)
$global:MSDNViewer.Visible = $TRUE
$global:MSDNViewer.Top=$global:MSDNViewer.Document.ParentWindow.Screen.Height
$global:MSDNViewer.Left=$global:MSDNViewer.Document.ParentWindow.Screen.Width
$ShellObj = New-Object -ComObject WScript.Shell
$ShellObj.AppActivate((Get-Process | Where {$_.MainWindowHandle -eq $global:MSDNViewer.HWND}).Id)
</Script>
</ScriptMethod>
</Members>
</Type>
</Types>
[/code:1]
Il fonctionne en V1 et V2.<br><br>Message édité par: Laurent Dardenne, à: 16/04/09 14:07
zebul_54 écrit:
La ligne suivante n'est pas correcte :je ne vois pas de quoi vient mon souci.
zebul_54 écrit:
Le parseur de PowerShell attend un paramètre. Pour les autres instructions sur + lignes, par exemple contenant + ou -or, cela ne lui pose pas de pb que l'instruction soit sur la ligne suivante.$ShellObj.AppActivate((get-process | where
{$_.MainWindowHandle -eq $global:MSDNViewer.HWND}).Id)
Le mieux est d'utiliser une version corrigée car l'url pointant MSDN a changé :
[code:1]
<?xml version=\"1.0\" encoding=\"utf-8\" ?>
<!-- *******************************************************************
Permet de retrouver dans la MSDN la page de description d'une classe
******************************************************************** -->
<Types>
<Type>
<Name>System.Object</Name>
<Members>
<ScriptMethod>
<Name>MSDN</Name>
<Script>
$culture = $host.currentculture
if ($args[0])
{
$culture = $args[0]
}
if (($global:MSDNViewer -eq $null) -or ($global:MSDNViewer.HWND -eq $null))
{
$global:MSDNViewer = new-object -ComObject InternetExplorer.Application
}
$Uri = \"msdn2.microsoft.com/\" + $culture + \"/library/\" +
$this.GetType().FullName + \"(VS.80).ASPX\"
$global:MSDNViewer.Navigate2($Uri)
$global:MSDNViewer.Visible = $TRUE
$global:MSDNViewer.Top=$global:MSDNViewer.Document.ParentWindow.Screen.Height
$global:MSDNViewer.Left=$global:MSDNViewer.Document.ParentWindow.Screen.Width
$ShellObj = New-Object -ComObject WScript.Shell
$ShellObj.AppActivate((Get-Process | Where {$_.MainWindowHandle -eq $global:MSDNViewer.HWND}).Id)
</Script>
</ScriptMethod>
</Members>
</Type>
</Types>
[/code:1]
Il fonctionne en V1 et V2.<br><br>Message édité par: Laurent Dardenne, à: 16/04/09 14:07
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Artis
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 2
- Remerciements reçus 0
il y a 16 ans 11 mois #4565
par Artis
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.083 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Commande Update-type