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 :

injecter le résultat d'une requete dans une autre commande


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite Avatar de gretch
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2006
    Messages
    1 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 165
    Par défaut injecter le résultat d'une requete dans une autre commande
    Bonjour voilà mon souci : j’essaie d'injecter le résultat d'un get-aduser dans un autre script : (draw-adsecuritygroupnesting*)
    le souci,
    si je fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Draw-ADSecurityGroupNesting "CN=John SMITH,OU=Utilisateurs,OU=Siege,DC=CONTOSO,DC=local"
    auun problème en reavanche si je fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Draw-ADSecurityGroupNesting "$dnuser"
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Draw-ADSecurityGroupNesting $dnuser
    j'ai des erreurs... hors si je fait

    j'ai bien comme résultat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CN=John SMITH,OU=Utilisateurs,OU=Siege,DC=CONTOSO,DC=local
    code complet si dessous :
    (pour info : jsh = SamAccountName de John smith)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $dnuser = Get-ADUser -Identity jsh | select distinguishedname | ft -hide
    echo $dnuser
     Draw-ADSecurityGroupNesting "$user"

    * trouvé sur technet, il permet de faire un graphique .Viz des groupes / sous groupes AD auquel un compte appartient.

  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,
    Citation Envoyé par gretch Voir le message
    j'ai des erreurs...
    Lesquelles ?

    As-tu essayé de débuger avec ISE ?

    La déclaration du 1er paramètre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    function Draw-ADSecurityGroupNesting
    {
        [CmdletBinding()]
        
        param
        (
            [Parameter(ValueFromPipeline = $false, Mandatory = $false)]
            [Alias("DN")]
            [String[]] $ADObjDN_List = @((Get-ADDomain).UsersContainer),
    renvoi vers le code suivant:
    Code : 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
        :nextDN foreach ($ADObjDN in $ADObjDN_List)
        {
            try
            {    
                Search-ADObjQuicker $ADObjDN | Out-Null
            }
            catch
            {
                $Msg = 'Non terminating error on "' + $ADObjDN + '".'
                $Msg += "`n" + 'Object does not exist or DistinguishedName is mistyped, it will be ignored in processing step.'
                Write-Warning $Msg
                
                continue nextDN
            }
            
            $Index = $ADObjDN.IndexOf("DC=")
            $ADDomainFQDN = ($ADObjDN.Substring($Index)).Replace("DC=","").Replace(",",".")
            
            $ADDomainFQDN_List = $ADDomainFQDN_List + @($ADDomainFQDN)
            
            $ADObjDN_List_Checked = $ADObjDN_List_Checked + @($ADObjDN)
        }
    Et lorsque je lis ceci (transformation d'une exception en warning), je me dis que ce script doit être considéré avec précaution.
    Une exception peut être transformée en une erreur non-bloquante, mais pas en un warning.
    Dans le cas où l'appelant ne veut aucune erreur, cela l'oblige à coder la gestion des deux flux, et avec ce type de code si un des cmdlets utilisés émet des warnings on sait plus s'y retrouver.
    Bref, ce n'est pas (encore ?) ton problème.

    Vérifie le type de ton objet $dnuser et sa transformation en tableau de chaînes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $dnuser.Gettype()
    [string[]] $Tab=$dnuser
    $Tab
    N'ayant pas d'AD sous la main je ne saurais aller plus loin.

Discussions similaires

  1. [MySQL] requete dans une table avec une varible d'une autre table
    Par kogoi dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 03/11/2011, 15h24
  2. Réponses: 2
    Dernier message: 24/10/2011, 17h15
  3. [MySQL] une requete dans une requete
    Par Invité dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 31/08/2011, 09h49
  4. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48
  5. Utilisation d'une requete dans une requete update
    Par hellbilly dans le forum Access
    Réponses: 4
    Dernier message: 09/01/2005, 15h09

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