Question
convertir System.Int32
- hays
- Auteur du sujet
- Hors Ligne
- Membre senior
-
Réduire
Plus d'informations
- Messages : 41
- Remerciements reçus 0
il y a 9 ans 3 mois #23081
par hays
Réponse de hays sur le sujet Re:convertir System.Int32
Bonjour Laurent je vous remercie pour votre aide.
finalement j'ai remarqué que je n'avais besoin que de quelques informations, finalement le script change de tête.
en réalité il y a pas grand chose qui a changé du script d'origine
quoi qu'il en soit je comprend la phrase
[code:1] découpler le traitement de l'affichage des données du traitement: 1)Get-MesDonnées 2)Format-MesDonnées[/code:1]
espérant savoir le faire a chaque fois.
voici le script
[code:1]import-module activedirectory
$collection = Get-ADOrganizationalUnit -Filter 'Name -like \"OU*\"'# | FT Name, DistinguishedName -A
foreach ($item in $collection)
{
$ouname = $item.Name
$OU = $item.Name
$utilisateurs = Get-ADUser -Filter * -SearchBase $item.DistinguishedName -Properties *
$actifs = $utilisateurs | Where-Object {$_.enabled -eq $true}
$inactifs = $utilisateurs | Where-Object {$_.enabled -eq $false}
$date = Get-Date
$connectes = $actifs | Where-Object {($_.lastlogondate -lt $date.AddMonths(-1)) -and ($_.lastlogondate -ne $null)}
$tableau = @()
foreach ($user in $connectes)
{
$ajout = New-Object Psobject
$ajout | Add-Member -Name \"OU\" -MemberType Noteproperty -value $ouname
if (!$actifs.count)
{
$ajout | Add-Member -Name \"actifs\" -MemberType Noteproperty -value 0
}
else
{
$ajout | Add-Member -Name \"actifs\" -MemberType Noteproperty -value $actifs.count
}
if (!$inactifs.count)
{
$ajout | Add-Member -Name \"inactifs\" -MemberType Noteproperty -value 0
}
else {
$ajout | Add-Member -Name \"inactifs\" -MemberType Noteproperty -value $inactifs.count
}
if (!$connectes.count)
{
$ajout | Add-Member -Name \"depuis_un_mois\" -MemberType Noteproperty -value 0
}
else {$ajout | Add-Member -Name \"un mois\" -MemberType Noteproperty -value $connectes.count}
$tableau += $ajout
}
$tableau
}[/code:1]
et je lance
[code:1].\rapport3.ps1 | Export-Csv -NoTypeInformation -UseCulture -Path ./user.csv -Encoding unicode[/code:1]
reste à trouver une façon de générer un table excel mais c'est une autre histoire
finalement j'ai remarqué que je n'avais besoin que de quelques informations, finalement le script change de tête.
en réalité il y a pas grand chose qui a changé du script d'origine
quoi qu'il en soit je comprend la phrase
[code:1] découpler le traitement de l'affichage des données du traitement: 1)Get-MesDonnées 2)Format-MesDonnées[/code:1]
espérant savoir le faire a chaque fois.
voici le script
[code:1]import-module activedirectory
$collection = Get-ADOrganizationalUnit -Filter 'Name -like \"OU*\"'# | FT Name, DistinguishedName -A
foreach ($item in $collection)
{
$ouname = $item.Name
$OU = $item.Name
$utilisateurs = Get-ADUser -Filter * -SearchBase $item.DistinguishedName -Properties *
$actifs = $utilisateurs | Where-Object {$_.enabled -eq $true}
$inactifs = $utilisateurs | Where-Object {$_.enabled -eq $false}
$date = Get-Date
$connectes = $actifs | Where-Object {($_.lastlogondate -lt $date.AddMonths(-1)) -and ($_.lastlogondate -ne $null)}
$tableau = @()
foreach ($user in $connectes)
{
$ajout = New-Object Psobject
$ajout | Add-Member -Name \"OU\" -MemberType Noteproperty -value $ouname
if (!$actifs.count)
{
$ajout | Add-Member -Name \"actifs\" -MemberType Noteproperty -value 0
}
else
{
$ajout | Add-Member -Name \"actifs\" -MemberType Noteproperty -value $actifs.count
}
if (!$inactifs.count)
{
$ajout | Add-Member -Name \"inactifs\" -MemberType Noteproperty -value 0
}
else {
$ajout | Add-Member -Name \"inactifs\" -MemberType Noteproperty -value $inactifs.count
}
if (!$connectes.count)
{
$ajout | Add-Member -Name \"depuis_un_mois\" -MemberType Noteproperty -value 0
}
else {$ajout | Add-Member -Name \"un mois\" -MemberType Noteproperty -value $connectes.count}
$tableau += $ajout
}
$tableau
}[/code:1]
et je lance
[code:1].\rapport3.ps1 | Export-Csv -NoTypeInformation -UseCulture -Path ./user.csv -Encoding unicode[/code:1]
reste à trouver une façon de générer un table excel mais c'est une autre histoire
Connexion ou Créer un compte pour participer à la conversation.
- hays
- Auteur du sujet
- Hors Ligne
- Membre senior
-
Réduire
Plus d'informations
- Messages : 41
- Remerciements reçus 0
il y a 9 ans 3 mois #23100
par hays
Réponse de hays sur le sujet Re:convertir System.Int32
je vais abusé j'aurais bien une autre question
je m'embêtais à faire une soustraction au début pour récupérer le nombre d'utilisateurs connecté pendant le mois mais j'imagine qu'il y a plus simple ou plus adapté au langage vue que je récupère avec cette commande
[code:1]Where-Object {($_.lastlogondate -lt $date.AddMonths(-1)) -and ($_.lastlogondate -ne $null)}[/code:1]
les utilisateurs qui ne se son pas connecter depuis plus d'un mois je devrais pouvoir récupérer les utilisateurs connectés justement dans le mois sans avoir à faire une soustraction ?
sinon en parallèle pour la création de fichier excel (tableau) j'ai trouvé le module PSExcel-master.zip qui est vraiment cool
espérant que ça aide les débutants comme moi qui passe par la
je m'embêtais à faire une soustraction au début pour récupérer le nombre d'utilisateurs connecté pendant le mois mais j'imagine qu'il y a plus simple ou plus adapté au langage vue que je récupère avec cette commande
[code:1]Where-Object {($_.lastlogondate -lt $date.AddMonths(-1)) -and ($_.lastlogondate -ne $null)}[/code:1]
les utilisateurs qui ne se son pas connecter depuis plus d'un mois je devrais pouvoir récupérer les utilisateurs connectés justement dans le mois sans avoir à faire une soustraction ?
sinon en parallèle pour la création de fichier excel (tableau) j'ai trouvé le module PSExcel-master.zip qui est vraiment cool
espérant que ça aide les débutants comme moi qui passe par la
Connexion ou Créer un compte pour participer à la conversation.
- hays
- Auteur du sujet
- Hors Ligne
- Membre senior
-
Réduire
Plus d'informations
- Messages : 41
- Remerciements reçus 0
il y a 9 ans 3 mois #23103
par hays
Réponse de hays sur le sujet Re:convertir System.Int32
[code:1] Where-Object {($_.lastlogondate -gt $date.AddMonths(-1)) -and ($_.lastlogondate -ne $null)}[/code:1]
finalement je vais réfléchir avant de demander la prochaine fois
finalement je vais réfléchir avant de demander la prochaine fois
Connexion ou Créer un compte pour participer à la conversation.
- hays
- Auteur du sujet
- Hors Ligne
- Membre senior
-
Réduire
Plus d'informations
- Messages : 41
- Remerciements reçus 0
il y a 9 ans 3 mois #23118
par hays
Réponse de hays sur le sujet Re:convertir System.Int32
bonjour,
suite a des versifications je me suis rendu compte que ce que j'avais fait ne renvoyais pas les bonne valeur à chaque fois.
cette variable me renvoyait le type microsoft aduseraccount
[code:1]$connectes = $actifs | Where-Object {($_.lastlogondate -lt $date.AddMonths(-1)) -and ($_.lastlogondate -ne $null)}[/code:1]
et cette variable
[code:1]$connectesMois = $utilisateurs | Where-Object {($_.lastlogondate -gt $date.AddMonths(-1)) -and ($_.lastlogondate -ne $null)}[/code:1]
un type system.array résultat je ne pouvais pas faire variable.count sur la première et selon l'item renvoyé par la collection j'avais un type different faussant les données.count une fois sur trois ou quatre.
résultat j'ai fait différemment voici le code modifier qui renvoi bien les bonne données à cjhaque fois
[code:1]
import-module activedirectory
$collection = Get-ADOrganizationalUnit -Filter 'Name -like \"OU*\"'# | FT Name, DistinguishedName -A
[datetime]$dat1601 = '01/01/1601'
$tableau = @()
foreach ($item in $collection)
{
$ouname = $item.Name
$OU = $item.Name
$utilisateurs = Get-ADUser -Filter * -SearchBase $item.DistinguishedName -Properties *
$actifs = $utilisateurs | Where-Object {$_.enabled -eq $true}
$inactifs = $utilisateurs | Where-Object {$_.enabled -eq $false}
$date = Get-Date
$connectes = $utilisateurs | Where-Object {($_.lastlogondate -lt $date.AddMonths(-1)) -and ($_.lastlogondate -ne $null) -and ($_.lastlogondate -ne $dat1601)}
$conn_depuis_un_mois = $utilisateurs | Where-Object {($_.lastlogondate -lt $date.AddMonths(-1)) -and ($_.lastlogondate -ne $null)}
$connectesMois = $utilisateurs | Where-Object {($_.lastlogondate -gt $date.AddMonths(-1)) -and ($_.lastlogondate -ne $null)}
$tableau1 = @()
$tableau2 = @()
$tableau3 = @()
$tableau4 = @()
foreach ($user in $actifs)
{
$ajout4 = New-Object Psobject
if (!$user)
{
$ajout4 | Add-Member -Name \"Nom\" -MemberType Noteproperty -value $user.name
}
else
{
$ajout4 | Add-Member -Name \"Nom\" -MemberType Noteproperty -value $user.name
#$count_connectes++
$tableau4 += $ajout4
}
}
foreach ($user_inactifs in $inactifs)
{
$ajout1 = New-Object Psobject
if (!$user_inactifs)
{
$ajout1 | Add-Member -Name \"Nom\" -MemberType Noteproperty -value $user_inactifs.name
}
else
{
$ajout1 | Add-Member -Name \"Nom\" -MemberType Noteproperty -value $user_inactifs.name
#$count_connectes++
$tableau1 += $ajout1
}
}
foreach ($item_depuis_un_mois in $conn_depuis_un_mois)
{
$ajout2 = New-Object Psobject
if (!$item_depuis_un_mois)
{
$ajout2 | Add-Member -Name \"Nom\" -MemberType Noteproperty -value $item_depuis_un_mois.name
}
else
{
$ajout2 | Add-Member -Name \"Nom\" -MemberType Noteproperty -value $item_depuis_un_mois.name
$tableau2 += $ajout2
}
#$count_connectes++
#$count_depuis_un_mois++
}
foreach ($item_connectesMois in $connectesMois)
{
$ajout3 = New-Object Psobject
if (!$item_connectesMois)
{
$ajout3 | Add-Member -Name \"Nom\" -MemberType Noteproperty -value $item_connectesMois.name
}
else {
$ajout3 | Add-Member -Name \"Nom\" -MemberType Noteproperty -value $item_connectesMois.name
$tableau3 += $ajout3
}
#$count_connectesMois++
}
$ajoutext = New-Object Psobject
$ajoutext | Add-Member -Name \"OU\" -MemberType Noteproperty -value $ouname
if (!$tableau1.count)
{
$ajoutext | Add-Member -Name \"desactivé\" -MemberType Noteproperty -value 0
}
else
{
$ajoutext | Add-Member -Name \"desactivé\" -MemberType Noteproperty -value $tableau1.count
}
if (!$tableau2.count)
{
$ajoutext | Add-Member -Name \"conn_depuis_un_mois\" -MemberType Noteproperty -value 0
}
else
{
$ajoutext | Add-Member -Name \"conn_depuis_un_mois\" -MemberType Noteproperty -value $tableau2.count
}
if (!$tableau3.count)
{
$ajoutext | Add-Member -Name \"connectesMois\" -MemberType Noteproperty -value 0
}
else
{
$ajoutext | Add-Member -Name \"connectesMois\" -MemberType Noteproperty -value $tableau3.count
}
if (!$tableau4.count)
{
$ajoutext | Add-Member -Name \"actifs\" -MemberType Noteproperty -value 0
}
else
{
$ajoutext | Add-Member -Name \"actifs\" -MemberType Noteproperty -value $tableau4.count
}
$tableau += $ajoutext
}
$tableau
[/code:1]
je suis certain qu'il y a mieux à faire d’ailleurs je suis preneur pour toute évolution.
en espérant que ça pourra aider tout débutant comme moi qui cherche à récupérer les même données.
suite a des versifications je me suis rendu compte que ce que j'avais fait ne renvoyais pas les bonne valeur à chaque fois.
cette variable me renvoyait le type microsoft aduseraccount
[code:1]$connectes = $actifs | Where-Object {($_.lastlogondate -lt $date.AddMonths(-1)) -and ($_.lastlogondate -ne $null)}[/code:1]
et cette variable
[code:1]$connectesMois = $utilisateurs | Where-Object {($_.lastlogondate -gt $date.AddMonths(-1)) -and ($_.lastlogondate -ne $null)}[/code:1]
un type system.array résultat je ne pouvais pas faire variable.count sur la première et selon l'item renvoyé par la collection j'avais un type different faussant les données.count une fois sur trois ou quatre.
résultat j'ai fait différemment voici le code modifier qui renvoi bien les bonne données à cjhaque fois
[code:1]
import-module activedirectory
$collection = Get-ADOrganizationalUnit -Filter 'Name -like \"OU*\"'# | FT Name, DistinguishedName -A
[datetime]$dat1601 = '01/01/1601'
$tableau = @()
foreach ($item in $collection)
{
$ouname = $item.Name
$OU = $item.Name
$utilisateurs = Get-ADUser -Filter * -SearchBase $item.DistinguishedName -Properties *
$actifs = $utilisateurs | Where-Object {$_.enabled -eq $true}
$inactifs = $utilisateurs | Where-Object {$_.enabled -eq $false}
$date = Get-Date
$connectes = $utilisateurs | Where-Object {($_.lastlogondate -lt $date.AddMonths(-1)) -and ($_.lastlogondate -ne $null) -and ($_.lastlogondate -ne $dat1601)}
$conn_depuis_un_mois = $utilisateurs | Where-Object {($_.lastlogondate -lt $date.AddMonths(-1)) -and ($_.lastlogondate -ne $null)}
$connectesMois = $utilisateurs | Where-Object {($_.lastlogondate -gt $date.AddMonths(-1)) -and ($_.lastlogondate -ne $null)}
$tableau1 = @()
$tableau2 = @()
$tableau3 = @()
$tableau4 = @()
foreach ($user in $actifs)
{
$ajout4 = New-Object Psobject
if (!$user)
{
$ajout4 | Add-Member -Name \"Nom\" -MemberType Noteproperty -value $user.name
}
else
{
$ajout4 | Add-Member -Name \"Nom\" -MemberType Noteproperty -value $user.name
#$count_connectes++
$tableau4 += $ajout4
}
}
foreach ($user_inactifs in $inactifs)
{
$ajout1 = New-Object Psobject
if (!$user_inactifs)
{
$ajout1 | Add-Member -Name \"Nom\" -MemberType Noteproperty -value $user_inactifs.name
}
else
{
$ajout1 | Add-Member -Name \"Nom\" -MemberType Noteproperty -value $user_inactifs.name
#$count_connectes++
$tableau1 += $ajout1
}
}
foreach ($item_depuis_un_mois in $conn_depuis_un_mois)
{
$ajout2 = New-Object Psobject
if (!$item_depuis_un_mois)
{
$ajout2 | Add-Member -Name \"Nom\" -MemberType Noteproperty -value $item_depuis_un_mois.name
}
else
{
$ajout2 | Add-Member -Name \"Nom\" -MemberType Noteproperty -value $item_depuis_un_mois.name
$tableau2 += $ajout2
}
#$count_connectes++
#$count_depuis_un_mois++
}
foreach ($item_connectesMois in $connectesMois)
{
$ajout3 = New-Object Psobject
if (!$item_connectesMois)
{
$ajout3 | Add-Member -Name \"Nom\" -MemberType Noteproperty -value $item_connectesMois.name
}
else {
$ajout3 | Add-Member -Name \"Nom\" -MemberType Noteproperty -value $item_connectesMois.name
$tableau3 += $ajout3
}
#$count_connectesMois++
}
$ajoutext = New-Object Psobject
$ajoutext | Add-Member -Name \"OU\" -MemberType Noteproperty -value $ouname
if (!$tableau1.count)
{
$ajoutext | Add-Member -Name \"desactivé\" -MemberType Noteproperty -value 0
}
else
{
$ajoutext | Add-Member -Name \"desactivé\" -MemberType Noteproperty -value $tableau1.count
}
if (!$tableau2.count)
{
$ajoutext | Add-Member -Name \"conn_depuis_un_mois\" -MemberType Noteproperty -value 0
}
else
{
$ajoutext | Add-Member -Name \"conn_depuis_un_mois\" -MemberType Noteproperty -value $tableau2.count
}
if (!$tableau3.count)
{
$ajoutext | Add-Member -Name \"connectesMois\" -MemberType Noteproperty -value 0
}
else
{
$ajoutext | Add-Member -Name \"connectesMois\" -MemberType Noteproperty -value $tableau3.count
}
if (!$tableau4.count)
{
$ajoutext | Add-Member -Name \"actifs\" -MemberType Noteproperty -value 0
}
else
{
$ajoutext | Add-Member -Name \"actifs\" -MemberType Noteproperty -value $tableau4.count
}
$tableau += $ajoutext
}
$tableau
[/code:1]
je suis certain qu'il y a mieux à faire d’ailleurs je suis preneur pour toute évolution.
en espérant que ça pourra aider tout débutant comme moi qui cherche à récupérer les même données.
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.038 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- convertir System.Int32