Question AD OU Keep tree order

Plus d'informations
il y a 11 ans 5 mois #18562 par Dela
Réponse de Dela sur le sujet Re:AD OU Keep tree order
Bon voilà l'erreur !! J'essaie de trouver d'ou cela peut venir !

Write-Verbose : Impossible de trouver un paramètre positionnel acceptant l'argument « Syndicats ».
Au caractère Ligne:24 : 7
+ Write-Verbose \"Nom : \"$Current.Name $InputObject.DistinguishedName
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument : (:) [Write-Verbose], ParameterBindingException
+ FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell.Commands.WriteVerboseCommand

Get-ADOrganizationalUnit : Le nom unique (distinguishedName) fourni doit appartenir à l’une des partitions suivantes: «DC=mondomain,DC=com , CN=Configuration,DC=mondomain,DC=com , CN=Schema,CN=Configuration,DC=mondomain,DC=com ,
DC=DomainDnsZones,DC=mondomain,DC=com , DC=ForestDnsZones,DC=mondomain,DC=com».
Au caractère Ligne:49 : 2
+ Get-ADOrganizationalUnit -filter * -SearchBase $SearchBase -SearchScope $Search ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument : (:) [Get-ADOrganizationalUnit], ArgumentException
+ FullyQualifiedErrorId : ActiveDirectoryCmdlet:System.ArgumentException,Microsoft.ActiveDirectory.Management.Commands.GetADOrganizationalUnit

<br><br>Message édité par: Alexis, à: 9/12/14 10:03

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 11 ans 5 mois #18563 par xyz
Réponse de xyz sur le sujet Re:AD OU Keep tree order
Remplace par ceci :
[code:1]
Write-Verbose \&quot;Nom : $($Current.Name) $($InputObject.DistinguishedName)\&quot;
[/code:1]

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 11 ans 5 mois #18565 par Dela
Réponse de Dela sur le sujet Re:AD OU Keep tree order
C'est mieux ! on a toujours le meme deuxieme message d'erreur !!

j'ai cherché a déclarer les variable avant , ca ne change rien !! je comprends pas pkoi il ne prend pas la valeur des variabels en comptes ... du coup le distinguishedname doit etre null ou ne pas faire parti de ma foret ! je cherche !



[code:1]Get-ADOrganizationalUnit : Le nom unique (distinguishedName) fourni doit appartenir à l’une des partitions suivantes: «DC=mondomain,DC=com , CN=Configuration,DC=mondomain,DC=com , CN=Schema,CN=Configuration,DC=mondomain,DC=com ,
DC=DomainDnsZones,DC=mondomain,DC=com , DC=ForestDnsZones,DC=mondomain,DC=com».
Au caractère Ligne:49 : 2
+ Get-ADOrganizationalUnit -filter * -SearchBase $SearchBase -SearchScope $Search ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument : (:«») [Get-ADOrganizationalUnit], ArgumentException
+ FullyQualifiedErrorId : ActiveDirectoryCmdlet:«»System.ArgumentException,Microsoft.ActiveDirectory.Management.Commands.GetADOrganizationalUnit[/code:1]

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 11 ans 5 mois #18566 par xyz
Réponse de xyz sur le sujet Re:AD OU Keep tree order
Alexis écrit:

C'est mieux ! on a toujours le meme deuxieme message d'erreur !!

Désolé je n'avais pas vu, j'ai répondu rapidement.
Alexis écrit:

je cherche !

La liaison de paramètre de la fonction Get-ADOrganizationalUnitByLevel est peut-être erronée ?
L'object construit dans New-RequestInfo ne porte pas l'info 'distinguishedname' mais 'name'.
Si le premier appel à Get-ADOrganizationalUnitByLevel réussi, je pense que mon erreur est là.

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 11 ans 5 mois #18569 par xyz
Réponse de xyz sur le sujet Re:AD OU Keep tree order
Essaie ceci :
[code:1]
$VerbosePreference='Continue'

Function New-RequestInfo{
#objet PS contenant les résultats des requêtes
param(
[ValidateNotNull()]
[Parameter(Mandatory=$true,ValueFromPipeline = $true)]
$InputObject,

[Parameter(Position=1,Mandatory=$true)]
[int] $SearchScope
)
process {
$Current = New-Object PSObject -Property @{
'Level'=\&quot;Lvl$SearchScope\&quot;;
'Name'=[string]$InputObject.Name;
'DistinguishedName'=[string]$InputObject.DistinguishedName;
'TotalUsers'=$null;
'Enabled'=$null;
'Disabled'=$null;
'NotSpec'=$null;
}
Write-Verbose (\&quot;Nom : {0} {1}\&quot; -F $Current.Name,$Current.DistinguishedName)

$Users=@(Get-ADUser -Filter * -Searchbase $InputObject.DistinguishedName -ResultPageSize 5000 -resultSetSize 5000)

$Current.TotalUsers=$Users.count
$Current.Enabled =($Users | where {$_.Enabled -eq $true} ).count
$Current.Disabled=($Users | where {$_.Enabled -eq $false}).count

$Current.NotSpec=$Current.TotalUsers-$Current.Enabled-$Current.Disabled
Write-Output $Current
}#process
}#New-RequestInfo

Function Get-ADOrganizationalUnitByLevel {
Param(
[ValidateNotNull()]
[Parameter(Mandatory=$true,ValueFromPipeline = $true)]
[Alias('DistinguishedName')]
[string] $SearchBase,

[Parameter(Mandatory=$true)]
[int] $SearchScope
)
process {
Get-ADOrganizationalUnit -filter * -SearchBase $SearchBase -SearchScope $SearchScope |
Where {$_.name -ne 'Utilisateurs' -and $_.name -ne 'Groupes'} |
New-RequestInfo -SearchScope $SearchScope
}#process
}#Get-ADOrganizationalUnitByLevel


$OU_Level1 = Get-ADOrganizationalUnitByLevel -SearchBase \&quot;OU=Utilisateurs_Groupes;OU=MONAD,dc=MONDOMAIN,dc=com\&quot; -SearchScope 1
$OU_Level2 = $OU_Level1|Get-ADOrganizationalUnitByLevel -SearchScope 2

@($OU_Level1;$OU_Level2) |
Export-csv c:\temp\test.csv
[/code:1]

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 11 ans 5 mois #18570 par Philippe
Réponse de Philippe sur le sujet Re:AD OU Keep tree order
Bonjour Laurent

La liaison de paramètre de la fonction Get-ADOrganizationalUnitByLevel est peut-être erronée ?

je suis du même avis

apres un petit test de ton script j'ai ce message d'erreur, à la ligne du cumul des $OU... :
[code:1]
$OU_Level2 = $OU_Level1 | Get-ADOrganizationalUnitByLevel -SearchBase \&quot;OU=People,DC=domaine,DC=lan\&quot; -SearchScope 2

Get-ADOrganizationalUnitByLevel : L'objet d'entrée ne peut être lié à aucun paramètre de la commande, soit parce que cette commande n'accepte pas l'entrée de pipeline, soit parce que l'entrée e
t ses propriétés ne correspondent à aucun des paramètres qui acceptent l'entrée de pipeline.
Au niveau de C:\temp\test41.ps1 : 62 Caractère : 56
+ $OU_Level2 = $OU_Level1|Get-ADOrganizationalUnitByLevel &lt;&lt;&lt;&lt; -SearchBase \&quot;OU=People,DC=domaine,DC=lan\&quot; -SearchScope 2
+ CategoryInfo : InvalidArgument: (@{Name=OU=Peopl...0; Enabled=537}:«»PSObject) [Get-ADOrganizationalUnitByLevel], ParameterBindingException
+ FullyQualifiedErrorId : InputObjectNotBound,Get-ADOrganizationalUnitByLevel[/code:1]

soit : InvalidArgument: (@{Name=OU=Peopl...0; Enabled=537}: PSObject)
hors tu a fait des alias :
[code:1] [ValidateNotNull()]
[Parameter(Mandatory=$true,ValueFromPipeline = $true)]
[Alias('DistinguishedName')]
[Alias('Name')]
[string] $SearchBase,
[/code:1]
ca devrait fonctionner non ?

jsuis pas bon en pipeline :blush:

par contre sur la ligne suivante le count renvoie rien $users est vide ou avec 1 utilisateur :
[code:1]$Current.Disabled = ($Users | where {$_.Enabled -eq $false}).count[/code:1]
ce qui provoque une erreur a l'addition de la ligne suivante ... :(
enfin sur powershell v2 !!

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.052 secondes
Propulsé par Kunena