Question Resultat du pipe est incorrect ?

Plus d'informations
il y a 7 ans 3 mois #22889 par VdB
Salut la compagnie !

J'essaies de faire fonctionner un script qui me permet de vérifier si un utilisateur en particulier est loggé sur un de mes servers.

Le script pour lister la liste des servers actifs fonctionne :

[code:1]import-module activedirectory
$DaysInactive = 90
$time = (Get-Date).Adddays(-($DaysInactive))
$Computers = Get-ADComputer -Filter {LastLogonTimeStamp -gt $time} -Properties LastLogonTimeStamp | select-object Name[/code:1]

Ensuite, je devrais pouvoir utiliser le résultat avec une commande qui m'affiche si l'utilisateur est là ou pas :

[code:1]ForEach($PSItem in $Computers) {
$PSItem
qwinsta monutilisateur /SERVER:$PSItem
}[/code:1]

Et bien entendu cela fonctionne pas :)

Je reçois ce résultat:

[code:1]Name
----
monserver
Error 1722 getting sessionnames
Error [1722]:The RPC server is unavailable.[/code:1]

Bon OK la commande ne comprend pas le \"Name\" et le \"----\"
mais normalement il devrait comprendre le \"monserver\" et me donner ceci:

[code:1]PS C:\_InstallFiles> qwinsta monutilisateur /SERVER:VSINT63
SESSIONNAME USERNAME ID STATE TYPE DEVICE
rdp-tcp#0 monutilisateur 2 Active
[/code:1]

ou

[code:1]PS C:\_InstallFiles> qwinsta monutilisateur /SERVER:monserver
No session exists for monutilisateur[/code:1]

Donc, il y a un problème avec le pipe mais je n'arrive pas à voir ou ?

Quelqu'un aurait une idée ?

Merciii<br><br>Message édité par: Tessai, à: 4/01/17 09:06

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

Plus d'informations
il y a 7 ans 3 mois #22890 par VdB
Réponse de VdB sur le sujet Re:Resultat du pipe est incorrect ?
Trouvé, pas très propre mais fonctionnel au moins :P

[code:1]
import-module activedirectory
$DaysInactive = 90
$time = (Get-Date).Adddays(-($DaysInactive))
$Computers = Get-ADComputer -Filter {LastLogonTimeStamp -gt $time} -Properties LastLogonTimeStamp | select-object Name
$Computers = $Computers -replace '\s+', ''
$Computers = $Computers -replace '@{Name=', ''
$Computers = $Computers -replace '}', ''

ForEach($PSItem in $Computers) {
$PSItem
qwinsta monutilisateur /SERVER:$PSItem
}[/code:1]

Message édité par: Tessai, à: 4/01/17 09:40<br><br>Message édité par: Tessai, à: 4/01/17 09:42

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

Plus d'informations
il y a 7 ans 3 mois #22891 par VdB
Réponse de VdB sur le sujet Re:Resultat du pipe est incorrect ?
Et apparemment il existe quelque chose qui fait déjà ça à la base... j'aurais du poster dans le coin des débutants :woohoo:

Get-ADComputer -Filter {LastLogonTimeStamp -gt $time} -Properties LastLogonTimeStamp | select-object -Expand Name<br><br>Message édité par: Tessai, à: 4/01/17 10:05

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

Plus d'informations
il y a 7 ans 3 mois #22963 par Philippe
salut Tessai

depuis la version 3 de PowerShell tu aussi utilisé cette écriture :

[code:1](Get-ADComputer -Filter {LastLogonTimeStamp -gt $time}).Name
[/code:1]

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

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