Question
[Résolu] Psgetsid
- SiSMik
- Auteur du sujet
- Hors Ligne
- Membre platinium
-
Réduire
Plus d'informations
- Messages : 492
- Remerciements reçus 0
il y a 16 ans 3 jours #6396
par SiSMik
[Résolu] Psgetsid a été créé par SiSMik
Bonjour,
ça doit être un truc tout bête, mais j'aimerais afficher le SID d'une machine en local. J'ai bien trouvé quelques tutoriaux qui expliquent cela en PS pur et dur, mais je ne peux pas me permettre de lancer mon script en tâche planifiée pour avoir accès aux registres bloqués.
Je me suis donc dis que de lancer psgetsid.exe, stocker le résultat dans un fichier tampon et le lire. Grand malheur sur moi, j'arrive même pas à echo des données dans un pauvre fichier..
Le batch était mon ami, l'apprentissage de powershell est dur
J'ai testé ça:
[code:1]$p = [diagnostics.process]::«»Start(\"psgetsid.exe >> E:\Scripts\temp.txt\"«»);
$p.WaitForExit();[/code:1]
Merci d'avance de votre aide ^^<br><br>Message édité par: Arnaud, à: 22/03/10 17:53
ça doit être un truc tout bête, mais j'aimerais afficher le SID d'une machine en local. J'ai bien trouvé quelques tutoriaux qui expliquent cela en PS pur et dur, mais je ne peux pas me permettre de lancer mon script en tâche planifiée pour avoir accès aux registres bloqués.
Je me suis donc dis que de lancer psgetsid.exe, stocker le résultat dans un fichier tampon et le lire. Grand malheur sur moi, j'arrive même pas à echo des données dans un pauvre fichier..
Le batch était mon ami, l'apprentissage de powershell est dur
J'ai testé ça:
[code:1]$p = [diagnostics.process]::«»Start(\"psgetsid.exe >> E:\Scripts\temp.txt\"«»);
$p.WaitForExit();[/code:1]
Merci d'avance de votre aide ^^<br><br>Message édité par: Arnaud, à: 22/03/10 17:53
Connexion ou Créer un compte pour participer à la conversation.
- crouzille
- Hors Ligne
- Membre junior
-
Réduire
Plus d'informations
- Messages : 34
- Remerciements reçus 0
il y a 16 ans 3 jours #6397
par crouzille
Réponse de crouzille sur le sujet Re:Psgetsid
Bonjour à toi,
Tout comme toi j'ai garder de mauvaise habitude de batch:lol: mais tu vas t'y faire t'inquiete pas;)
Essaye ceci:
[code:1]
$p = [diagnostics.process]::«»Start(\"psgetsid.exe\"«») | out-file C:\test.txt[/code:1]<br><br>Message édité par: Arnaud, à: 19/03/10 08:48
Tout comme toi j'ai garder de mauvaise habitude de batch:lol: mais tu vas t'y faire t'inquiete pas;)
Essaye ceci:
[code:1]
$p = [diagnostics.process]::«»Start(\"psgetsid.exe\"«») | out-file C:\test.txt[/code:1]<br><br>Message édité par: Arnaud, à: 19/03/10 08:48
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 16 ans 3 jours #6398
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Psgetsid
Salut,
une autre solution :
[code:1]psgetsid.exe > E:\Scripts\temp.txt[/code:1]
Ici pas besoin de faire un WaitForExit.
benduru écrit:
Il faut être patient et tenace.
une autre solution :
[code:1]psgetsid.exe > E:\Scripts\temp.txt[/code:1]
Ici pas besoin de faire un WaitForExit.
benduru écrit:
Pas moyen d'y couper, à moins d'essayer un transfert de connaisssance par imposition des mainsLe batch était mon ami, l'apprentissage de powershell est dur
Il faut être patient et tenace.
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- SiSMik
- Auteur du sujet
- Hors Ligne
- Membre platinium
-
Réduire
Plus d'informations
- Messages : 492
- Remerciements reçus 0
il y a 16 ans 2 jours #6400
par SiSMik
Réponse de SiSMik sur le sujet Re:Psgetsid
Nikel, merci pour votre aide.. du coup je reviens avec une nouvelle question 
[code:1]$s = Select-String -path E:\Scripts\temp.txt -pattern \"S-1-5\" -list -simplematch[/code:1]
retourne
[code:1]E:\Scripts\temp.txt:3:«»S-1-5-21-2413404195-1007888578-3295543584[/code:1]
Donc je me suis dit on va virer les 11 premiers caractères qui feront toujours la même taille, mais si je fais ça
[code:1]Write-Host $s.remove(0, 11)[/code:1]
je reçois une magnifique erreur comme celle ci
[code:1]L'appel de la méthode a échoué parce que [System.Object[]] ne contient pas de méthode nommée « remove ».
Au niveau de E:\Scripts\untitled.ps1 : 291 Caractère : 21
+ Write-Host $s.remove <<<< (0, 11)
+ CategoryInfo : InvalidOperation: (remove:«»String) [], RuntimeException
+ FullyQualifiedErrorId : MethodNotFound
[/code:1]
A mon avis, c'est quelque chose du genre la variable qui n'est pas déclaré dans un bon type (ou pas..)
a+
EDIT
[code:1][String]$s = Select-String -path E:\Scripts\temp.txt -pattern \"S-1-5\" -list -simplematch[/code:1]
En forçant la variable sur le type String, ça fonctionne correctement maintenant.
[code:1]<br><br>Message édité par: benduru, à: 19/03/10 14:22
[code:1]$s = Select-String -path E:\Scripts\temp.txt -pattern \"S-1-5\" -list -simplematch[/code:1]
retourne
[code:1]E:\Scripts\temp.txt:3:«»S-1-5-21-2413404195-1007888578-3295543584[/code:1]
Donc je me suis dit on va virer les 11 premiers caractères qui feront toujours la même taille, mais si je fais ça
[code:1]Write-Host $s.remove(0, 11)[/code:1]
je reçois une magnifique erreur comme celle ci
[code:1]L'appel de la méthode a échoué parce que [System.Object[]] ne contient pas de méthode nommée « remove ».
Au niveau de E:\Scripts\untitled.ps1 : 291 Caractère : 21
+ Write-Host $s.remove <<<< (0, 11)
+ CategoryInfo : InvalidOperation: (remove:«»String) [], RuntimeException
+ FullyQualifiedErrorId : MethodNotFound
[/code:1]
A mon avis, c'est quelque chose du genre la variable qui n'est pas déclaré dans un bon type (ou pas..)
a+
EDIT
[code:1][String]$s = Select-String -path E:\Scripts\temp.txt -pattern \"S-1-5\" -list -simplematch[/code:1]
En forçant la variable sur le type String, ça fonctionne correctement maintenant.
[code:1]<br><br>Message édité par: benduru, à: 19/03/10 14:22
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 16 ans 2 jours #6402
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Psgetsid
benduru écrit:
C'est toi qui considére la variable comme étant du type que tu souhaites, ou tout du moins le traitement que tu lui appliques comme étant approprié.
benduru écrit:
L'autre question à se poser est pourquoi cela fonctionne en précisant une interprétation plutot qu'une autre ?
D'exécuter $mavariable.GetType() est nécessaire la pluspart du temps, cela fait à peu prés 4 ans que j'utilise PS et c'est LA commande que j'utilise le plus souvent.
C'est elle qui nous informe ce que PS manipule vraiment, bien que la pluspart du temps nous n'avons pas à nous en soucier.
Rappelez-vous : PowerShell est \"avide d'objets\", pas de précisions
PowerShell est un langage dynamique, donc non typé.A mon avis, c'est quelque chose du genre la variable qui n'est pas déclaré dans un bon type (ou pas..)
C'est toi qui considére la variable comme étant du type que tu souhaites, ou tout du moins le traitement que tu lui appliques comme étant approprié.
benduru écrit:
Préciser est plus approprié que Forcer, désormais tu précises ton intention, mais un cast ne sera pas tjr suffisantEDIT
En forçant la variable sur le type String, ça fonctionne correctement maintenant.
L'autre question à se poser est pourquoi cela fonctionne en précisant une interprétation plutot qu'une autre ?
D'exécuter $mavariable.GetType() est nécessaire la pluspart du temps, cela fait à peu prés 4 ans que j'utilise PS et c'est LA commande que j'utilise le plus souvent.
C'est elle qui nous informe ce que PS manipule vraiment, bien que la pluspart du temps nous n'avons pas à nous en soucier.
Rappelez-vous : PowerShell est \"avide d'objets\", pas de précisions
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- SiSMik
- Auteur du sujet
- Hors Ligne
- Membre platinium
-
Réduire
Plus d'informations
- Messages : 492
- Remerciements reçus 0
il y a 15 ans 11 mois #6412
par SiSMik
Réponse de SiSMik sur le sujet Re:Psgetsid
Merci pour tes commentaires !
Je me rends compte que j'ai du boulot pour au moins maitriser les bases de Powershell
Je me rends compte que j'ai du boulot pour au moins maitriser les bases de Powershell
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.059 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- [Résolu] Psgetsid