IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scripts/Batch Discussion :

obtenir de l'aide sur une méthode [PowerShell]


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 493
    Billets dans le blog
    1
    Par défaut obtenir de l'aide sur une méthode
    Bonjour,

    une question de débutant en powershell.

    J'ai une variable $data, dont j'ai listé les méthodes et les propriétés avec $data|get-member mais maintenant, je voudrais obtenir l'aide sur la méthode Contains. J'ai essayéhelp $data.Contains et help $data->Contains mais ça ne donne rien.
    Dans le 1er cas :
    Get-Help : Get-Help could not find bool IList.Contains(System.Object value) in a help file in this session.
    et dans le 2e :
    Get-Help : Illegal characters in path.
    Le but est d'afficher le contenu de la variable. Que faut-il faire ?

  2. #2
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Billets dans le blog
    1
    Par défaut
    Salut,
    il faut interroger MSDN, on peut aussi ajouter un membre personnalisé pour tous les objets :
    Code Powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
     
    @'
    <?xml version="1.0" encoding="utf-8" ?>
    <!-- *******************************************************************
    Permet de retrouver dans la MSDN la page de description d'une classe ou d'une méthode
    ******************************************************************** -->
    <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 
                } 
                $className=$this.GetType().FullName
                if ($className -eq "System.RuntimeType") 
                 { $className =$this.FullName}
                $Uri = "http://msdn2.microsoft.com/" + $culture + "/library/" + $className + "(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> 
    '@ > PSProfile>System.Object.Types.ps1xml
     
    #Ensuite charger ce fichier via le profile
    Update-TypeData -PrependPath  PSProfile\System.Object.Types.ps1xml
     
    #usage
    $data.Contains.MSDN()

  3. #3
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 493
    Billets dans le blog
    1
    Par défaut
    Merci pour la réponse. Néanmoins, je ne parviens pas à créer un profil. Voilà ce que j'ai fait :
    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if (!(Test-Path -Path $PROFILE.CurrentUserAllHosts)) 
    { New-Item -Type File -Path $PROFILE.CurrentUserAllHosts -Force }
    mais pas de fichier profil...

  4. #4
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Billets dans le blog
    1
    Par défaut
    Crée le directement dans :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    C:\Users\USERNAME\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
    Ensuite tu y places qq chose comme ceci :
    Code Powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    $SM = [System.Environment+SpecialFolder]::MyDocuments
    $PSProfile="$([System.Environment]::GetFolderPath($SM))\WindowsPowerShell"
    $PSScripts=$PSProfile+"\Scripts"
     
    # ------------- Types personnalisés
    $Local:F=Get-Childitem $PSScripts|Where {$_.name -match 'types.ps1xml$'}
    if ($null -ne $Local:F)
     {
      Write-Host "`n`rImport des types personnalisés"
      $Local:F|Foreach {$_.Fullname; Update-TypeData -prepend $_.Fullname}
      }
     else {Write-Host "`n`rAucun type personnalisé"}

  5. #5
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 493
    Billets dans le blog
    1
    Par défaut
    Merci pour la réponse.

    Chez moi le répertoire "WindowsPowerShell\v1.0" est dans "C:\Windows\System2" et si je remplace "MyDocuments" par "Windows\System2", "unexpected...". Donc comment faire ?

  6. #6
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Billets dans le blog
    1
    Par défaut
    Le chemin et le nom du fichier dépend de la 'portée' du profile, pour un utilisateur, pour tous
    Code Powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    $profile|select *
    #AllUsersAllHosts       : C:\Windows\System32\WindowsPowerShell\v1.0\profile.ps1
    #AllUsersCurrentHost    : C:\Windows\System32\WindowsPowerShell\v1.0\Microsoft.PowerShell_profile.ps1
    #CurrentUserAllHosts    : C:\Users\Laurent\Documents\WindowsPowerShell\profile.ps1
    #CurrentUserCurrentHost : C:\Users\Laurent\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
     
    #Le détail dans le fichier d'aide :
    get-help about_Profiles|more
    *CurrentHost étant une console/session Powershell et AllHosts* les applications qui intégrent le runtime Powershell (vscode,ISE,PowerGUI etc).

    Le dernier exemple donné correspondant à ma configuration CurrentUserCurrentHost.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Aide sur une méthode de requête oubliée
    Par Leduc08 dans le forum MySQL
    Réponses: 12
    Dernier message: 03/07/2015, 09h19
  2. Réponses: 0
    Dernier message: 20/05/2012, 20h58
  3. Réponses: 3
    Dernier message: 16/04/2004, 16h51
  4. Aide sur une requete de sélection
    Par stephdiplo150 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 16/01/2004, 10h40
  5. Aide sur une fenetre
    Par Ray-j dans le forum Autres éditeurs
    Réponses: 4
    Dernier message: 29/11/2002, 08h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo