Script style fusion ou ocs inventory en local.
TearDrops
Messages postés
6
Date d'inscription
Statut
Membre
Dernière intervention
-
choubaka Messages postés 39442 Date d'inscription Statut Modérateur Dernière intervention -
choubaka Messages postés 39442 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
voila j'ai un petit soucis..
je suis admin réseau et j'aimerai me simplifier la tache au travail.
mon but étant de récupérer un certain nombre de chose sur un poste (PC ou serveur).
je n'ai jamais coder de ma vie ..... même si j'essaye et me torture la tête dessus j'avoue ne pas être très très bon la dedans meme pas du tout :D... c'est pourquoi je vous demande votre aide.. je ne sais pas quel langage sera le plus approprié non plus pour faire ce script
Mon beau projet XD
Récupération :
-Liste des user sur un poste et compte actif ou non
-Nom du poste et si il est en WorkGroup ou Domain ( savoir quel domaine)
-Le Winver
-Nom du compte office ( cela m’étonnerai que l'on puisse récupérer ça comme ça ... mais dans le doute XD )
-Info de connexion (carte reseau, ip .... )
-composant de la machine
je vous met mon powershell dégueu... mais bon c'est tout ce que j'ai réussis a faire pour le moment....
$Table = @"
$Users = Get-WmiObject -Class Win32_UserAccount
$Winver = (Get-WmiObject -class Win32_OperatingSystem).Caption
$Apps = Get-WmiObject -Class Win32_Product
$Reseau = Get-NetAdapter | Get-NetIPAddress
"@
$table | Out-File C:\test.txt
(avouez ça fait mal haha)
je vous remercie par avance,
bonne journée a vous
voila j'ai un petit soucis..
je suis admin réseau et j'aimerai me simplifier la tache au travail.
mon but étant de récupérer un certain nombre de chose sur un poste (PC ou serveur).
je n'ai jamais coder de ma vie ..... même si j'essaye et me torture la tête dessus j'avoue ne pas être très très bon la dedans meme pas du tout :D... c'est pourquoi je vous demande votre aide.. je ne sais pas quel langage sera le plus approprié non plus pour faire ce script
Mon beau projet XD
Récupération :
-Liste des user sur un poste et compte actif ou non
-Nom du poste et si il est en WorkGroup ou Domain ( savoir quel domaine)
-Le Winver
-Nom du compte office ( cela m’étonnerai que l'on puisse récupérer ça comme ça ... mais dans le doute XD )
-Info de connexion (carte reseau, ip .... )
-composant de la machine
je vous met mon powershell dégueu... mais bon c'est tout ce que j'ai réussis a faire pour le moment....
$Table = @"
$Users = Get-WmiObject -Class Win32_UserAccount
$Winver = (Get-WmiObject -class Win32_OperatingSystem).Caption
$Apps = Get-WmiObject -Class Win32_Product
$Reseau = Get-NetAdapter | Get-NetIPAddress
"@
$table | Out-File C:\test.txt
(avouez ça fait mal haha)
je vous remercie par avance,
bonne journée a vous
A voir également:
- Script style fusion ou ocs inventory en local.
- Ocs inventory - Télécharger - Outils professionnels
- Appdata local - Guide
- Style word - Guide
- Script vidéo youtube - Guide
- Ip local - Guide
12 réponses
Bonjour
c'est vrai que ça fait mal.
Avant de voir tout ça.
Première question ... tu travailles sur un domaine active directory ?
si oui, quelle version Windows server ?
Et quelle version de powershell ?
c'est vrai que ça fait mal.
Avant de voir tout ça.
Première question ... tu travailles sur un domaine active directory ?
si oui, quelle version Windows server ?
Et quelle version de powershell ?
Bonjour, je tiens a te remercié pour ton temps :)
alors non je travail sur des postes locaux, mais j'aimerais qu'il puisse aussi être déployable pour un AD.
ma version powershell est 5.1, et j'aimerai aussi qu'il tourne sur toute version de WS....
j'ai par contre ameliorer le loustique depuis : cependant je n'arrive pas le mettre en forme et proprement dans un XLSX ....
je galere au niveau de la mise en forme du tableau ....
# proco
$NomProco = Get-CimInstance -ClassName Win32_Processor | Select-Object Name
$DeviceIdProco = Get-CimInstance -ClassName Win32_Processor | Select-Object DeviceID
$CaptionProco = Get-CimInstance -ClassName Win32_Processor | Select-Object Caption
$MaxClockSpeedProco = Get-CimInstance -ClassName Win32_Processor | Select-Object MaxClockSpeed
$SocketDesignationProco = Get-CimInstance -ClassName Win32_Processor | Select-Object SocketDesignation
# Disque Dur
$DevicesIdDidsque = Get-CimInstance -ClassName Win32_LogicalDisk -Filter "DriveType=3" | Select-Object DeviceID
$GenreDisque = Get-CimInstance -ClassName Win32_LogicalDisk -Filter "DriveType=3" | Select-Object DriveType
$NomduVolume = Get-CimInstance -ClassName Win32_LogicalDisk -Filter "DriveType=3" | Select-Object VolumeName
$TailleDisque = Get-CimInstance -ClassName Win32_LogicalDisk -Filter "DriveType=3" | Select-Object Size
$EspaceDisponible = Get-CimInstance -ClassName Win32_LogicalDisk -Filter "DriveType=3" | Select-Object FreeSpace
$EtatdeVie = Get-PhysicalDisk | Select-Object HealthStatus
$TypedeDique = Get-PhysicalDisk | Select-Object MediaType
$NumerodeSerie = Get-PhysicalDisk | Select-Object SerialNumber
$Status = Get-PhysicalDisk | Select-Object OperationalStatus
# Reseau
$CarteReseau = Get-NetAdapter | Get-NetIPAddress | Select-Object InterfaceAlias
$AdresseIp = Get-NetAdapter | Get-NetIPAddress | Select-Object IPAddress
$FamilleAdresse = Get-NetAdapter | Get-NetIPAddress | Select-Object AddressFamily
$Prefixe = Get-NetAdapter | Get-NetIPAddress | Select-Object PrefixOrigin
$Validite = Get-NetAdapter | Get-NetIPAddress | Select-Object ValidLifetime
# Ram
$NomRam = Get-CimInstance win32_physicalmemory | Select-Object Name
$Description = Get-CimInstance win32_physicalmemory | Select-Object Description
$NumerodeSerie = Get-CimInstance win32_physicalmemory | Select-Object SerialNumber
$Capacite = Get-CimInstance win32_physicalmemory | Select-Object Capacity
$Vitesse = Get-CimInstance win32_physicalmemory | Select-Object Speed
$LongeurTotal = Get-CimInstance win32_physicalmemory | Select-Object TotalWidth
$TypeMemoireSMBIOS = Get-CimInstance win32_physicalmemory | Select-Object SMBIOSMemoryType
# Graphique
$CarteGraphique = wmic path win32_VideoController get name
# Regrouppement par composant
$Proco = $NomProco,$DeviceIdProco, $CaptionProco, $MaxClockSpeedProco, $SocketDesignationProco | Format-Table -AutoSize
$DisqueDur = $DevicesIdDidsque, $GenreDique, $NomduVolume, $TailleDisque, $EspaceDisponible, $EtatdeVie, $TypedeDique, $NumerodeSerie, $Status | Format-Table -AutoSize
$Reseau = $CarteReseau, $AdresseIp, $FamilleAdresse, $Prefixe, $Validite | Format-Table -AutoSize
$Ram = $NomRam, $Description, $NumerodeSerie, $Capacite, $Vitesse, $LongeurTotal, $TypeMemoireSMBIOS | Format-Table -AutoSize
$Graphique = $CarteGraphique
# Total
$Grup = $Proco, $DisqueDur, $Reseau, $Ram, $Graphique
# Tableau Excel
$ExcelObject = new-Object -comobject Excel.Application
$ExcelObject.visible = $true
$ExcelObject.DisplayAlerts =$false
# Create Excel file
$ActiveWorkbook = $ExcelObject.Workbooks.Add()
$ActiveWorksheet = $ActiveWorkbook.Worksheets.Item(1)
#Add Headers to excel file
$ActiveWorksheet.Cells.Item(1,1) = "Nom Du Processeur"
$ActiveWorksheet.cells.item(1,2) = "ID Du Proceseur"
$ActiveWorksheet.cells.item(1,3) = "Caption"
$ActiveWorksheet.cells.item(1,4) = "Max Clock Speed"
$ActiveWorksheet.Cells.Item(1,5) = "Socket Du Processeur"
$ActiveWorksheet.Cells.Item(1,6) = "Id Du Disque"
$ActiveWorksheet.Cells.Item(1,7) = "Type Du Disque"
$ActiveWorksheet.Cells.Item(1,8) = "Nom Du Volume"
$ActiveWorksheet.Cells.Item(1,9) = "Taille Du Disque"
$ActiveWorksheet.Cells.Item(1,10) = "Espace Disponible"
$ActiveWorksheet.Cells.Item(1,11) = "Etat Du Disque"
$ActiveWorksheet.Cells.Item(1,12) = ""
$ActiveWorksheet.Cells.Item(1,13)
$ActiveWorksheet.Cells.Item(1,14)
$ActiveWorksheet.Cells.Item(1,15)
$ActiveWorksheet.Cells.Item(1,16)
$ActiveWorksheet.Cells.Item(1,17)
$ActiveWorksheet.Cells.Item(1,18)
$ActiveWorksheet.Cells.Item(1,19)
$ActiveWorksheet.Cells.Item(1,20)
$ActiveWorksheet.Cells.Item(1,21)
$ActiveWorksheet.Cells.Item(1,22)
$ActiveWorksheet.Cells.Item(1,23)
$ActiveWorksheet.Cells.Item(1,24)
$ActiveWorksheet.Cells.Item(1,25)
$ActiveWorksheet.Cells.Item(1,26)
$format = $ActiveWorksheet.UsedRange
$format.Interior.ColorIndex = 19
$format.Font.ColorIndex = 11
$format.Font.Bold = "True"
}
#Loop through the Array and add data into the excel file created.
foreach ($line in $Activeusers){
($user_id,$user_name,$Costcntr,$ApprMgr) = $line.split('|')
$introw = $ActiveWorksheet.UsedRange.Rows.Count + 1
$ActiveWorksheet.cells.item($introw, 1) = $NomProco
$ActiveWorksheet.cells.item($introw, 2) = $DeviceIdProco
$ActiveWorksheet.cells.item($introw, 3) = $CaptionProco
$ActiveWorksheet.cells.item($introw, 4) = $MaxClockSpeedProco
$ActiveWorksheet.Cells.item($introw, 5) = $SocketDesignationProco
$ActiveWorksheet.cells.item($introw, 6) =
$ActiveWorksheet.cells.item($introw, 7)
$ActiveWorksheet.cells.item($introw, 8)
$ActiveWorksheet.cells.item($introw, 9)
$ActiveWorksheet.cells.item($introw, 10)
$ActiveWorksheet.cells.item($introw, 12)
$ActiveWorksheet.cells.item($introw, 13)
$ActiveWorksheet.cells.item($introw, 14)
$ActiveWorksheet.cells.item($introw, 15)
$ActiveWorksheet.cells.item($introw, 16)
$ActiveWorksheet.cells.item($introw, 17)
$ActiveWorksheet.cells.item($introw, 18)
$ActiveWorksheet.cells.item($introw, 19)
$ActiveWorksheet.cells.item($introw, 20)
$ActiveWorksheet.cells.item($introw, 21)
$ActiveWorksheet.cells.item($introw, 22)
$ActiveWorksheet.cells.item($introw, 23)
$ActiveWorksheet.cells.item($introw, 24)
$ActiveWorksheet.cells.item($introw, 25)
$ActiveWorksheet.cells.item($introw, 26)
$ActiveWorksheet.cells.item($introw, 27)
$ActiveWorksheet.UsedRange.EntireColumn.AutoFit();
}
alors non je travail sur des postes locaux, mais j'aimerais qu'il puisse aussi être déployable pour un AD.
ma version powershell est 5.1, et j'aimerai aussi qu'il tourne sur toute version de WS....
j'ai par contre ameliorer le loustique depuis : cependant je n'arrive pas le mettre en forme et proprement dans un XLSX ....
je galere au niveau de la mise en forme du tableau ....
# proco
$NomProco = Get-CimInstance -ClassName Win32_Processor | Select-Object Name
$DeviceIdProco = Get-CimInstance -ClassName Win32_Processor | Select-Object DeviceID
$CaptionProco = Get-CimInstance -ClassName Win32_Processor | Select-Object Caption
$MaxClockSpeedProco = Get-CimInstance -ClassName Win32_Processor | Select-Object MaxClockSpeed
$SocketDesignationProco = Get-CimInstance -ClassName Win32_Processor | Select-Object SocketDesignation
# Disque Dur
$DevicesIdDidsque = Get-CimInstance -ClassName Win32_LogicalDisk -Filter "DriveType=3" | Select-Object DeviceID
$GenreDisque = Get-CimInstance -ClassName Win32_LogicalDisk -Filter "DriveType=3" | Select-Object DriveType
$NomduVolume = Get-CimInstance -ClassName Win32_LogicalDisk -Filter "DriveType=3" | Select-Object VolumeName
$TailleDisque = Get-CimInstance -ClassName Win32_LogicalDisk -Filter "DriveType=3" | Select-Object Size
$EspaceDisponible = Get-CimInstance -ClassName Win32_LogicalDisk -Filter "DriveType=3" | Select-Object FreeSpace
$EtatdeVie = Get-PhysicalDisk | Select-Object HealthStatus
$TypedeDique = Get-PhysicalDisk | Select-Object MediaType
$NumerodeSerie = Get-PhysicalDisk | Select-Object SerialNumber
$Status = Get-PhysicalDisk | Select-Object OperationalStatus
# Reseau
$CarteReseau = Get-NetAdapter | Get-NetIPAddress | Select-Object InterfaceAlias
$AdresseIp = Get-NetAdapter | Get-NetIPAddress | Select-Object IPAddress
$FamilleAdresse = Get-NetAdapter | Get-NetIPAddress | Select-Object AddressFamily
$Prefixe = Get-NetAdapter | Get-NetIPAddress | Select-Object PrefixOrigin
$Validite = Get-NetAdapter | Get-NetIPAddress | Select-Object ValidLifetime
# Ram
$NomRam = Get-CimInstance win32_physicalmemory | Select-Object Name
$Description = Get-CimInstance win32_physicalmemory | Select-Object Description
$NumerodeSerie = Get-CimInstance win32_physicalmemory | Select-Object SerialNumber
$Capacite = Get-CimInstance win32_physicalmemory | Select-Object Capacity
$Vitesse = Get-CimInstance win32_physicalmemory | Select-Object Speed
$LongeurTotal = Get-CimInstance win32_physicalmemory | Select-Object TotalWidth
$TypeMemoireSMBIOS = Get-CimInstance win32_physicalmemory | Select-Object SMBIOSMemoryType
# Graphique
$CarteGraphique = wmic path win32_VideoController get name
# Regrouppement par composant
$Proco = $NomProco,$DeviceIdProco, $CaptionProco, $MaxClockSpeedProco, $SocketDesignationProco | Format-Table -AutoSize
$DisqueDur = $DevicesIdDidsque, $GenreDique, $NomduVolume, $TailleDisque, $EspaceDisponible, $EtatdeVie, $TypedeDique, $NumerodeSerie, $Status | Format-Table -AutoSize
$Reseau = $CarteReseau, $AdresseIp, $FamilleAdresse, $Prefixe, $Validite | Format-Table -AutoSize
$Ram = $NomRam, $Description, $NumerodeSerie, $Capacite, $Vitesse, $LongeurTotal, $TypeMemoireSMBIOS | Format-Table -AutoSize
$Graphique = $CarteGraphique
# Total
$Grup = $Proco, $DisqueDur, $Reseau, $Ram, $Graphique
# Tableau Excel
$ExcelObject = new-Object -comobject Excel.Application
$ExcelObject.visible = $true
$ExcelObject.DisplayAlerts =$false
# Create Excel file
$ActiveWorkbook = $ExcelObject.Workbooks.Add()
$ActiveWorksheet = $ActiveWorkbook.Worksheets.Item(1)
#Add Headers to excel file
$ActiveWorksheet.Cells.Item(1,1) = "Nom Du Processeur"
$ActiveWorksheet.cells.item(1,2) = "ID Du Proceseur"
$ActiveWorksheet.cells.item(1,3) = "Caption"
$ActiveWorksheet.cells.item(1,4) = "Max Clock Speed"
$ActiveWorksheet.Cells.Item(1,5) = "Socket Du Processeur"
$ActiveWorksheet.Cells.Item(1,6) = "Id Du Disque"
$ActiveWorksheet.Cells.Item(1,7) = "Type Du Disque"
$ActiveWorksheet.Cells.Item(1,8) = "Nom Du Volume"
$ActiveWorksheet.Cells.Item(1,9) = "Taille Du Disque"
$ActiveWorksheet.Cells.Item(1,10) = "Espace Disponible"
$ActiveWorksheet.Cells.Item(1,11) = "Etat Du Disque"
$ActiveWorksheet.Cells.Item(1,12) = ""
$ActiveWorksheet.Cells.Item(1,13)
$ActiveWorksheet.Cells.Item(1,14)
$ActiveWorksheet.Cells.Item(1,15)
$ActiveWorksheet.Cells.Item(1,16)
$ActiveWorksheet.Cells.Item(1,17)
$ActiveWorksheet.Cells.Item(1,18)
$ActiveWorksheet.Cells.Item(1,19)
$ActiveWorksheet.Cells.Item(1,20)
$ActiveWorksheet.Cells.Item(1,21)
$ActiveWorksheet.Cells.Item(1,22)
$ActiveWorksheet.Cells.Item(1,23)
$ActiveWorksheet.Cells.Item(1,24)
$ActiveWorksheet.Cells.Item(1,25)
$ActiveWorksheet.Cells.Item(1,26)
$format = $ActiveWorksheet.UsedRange
$format.Interior.ColorIndex = 19
$format.Font.ColorIndex = 11
$format.Font.Bold = "True"
}
#Loop through the Array and add data into the excel file created.
foreach ($line in $Activeusers){
($user_id,$user_name,$Costcntr,$ApprMgr) = $line.split('|')
$introw = $ActiveWorksheet.UsedRange.Rows.Count + 1
$ActiveWorksheet.cells.item($introw, 1) = $NomProco
$ActiveWorksheet.cells.item($introw, 2) = $DeviceIdProco
$ActiveWorksheet.cells.item($introw, 3) = $CaptionProco
$ActiveWorksheet.cells.item($introw, 4) = $MaxClockSpeedProco
$ActiveWorksheet.Cells.item($introw, 5) = $SocketDesignationProco
$ActiveWorksheet.cells.item($introw, 6) =
$ActiveWorksheet.cells.item($introw, 7)
$ActiveWorksheet.cells.item($introw, 8)
$ActiveWorksheet.cells.item($introw, 9)
$ActiveWorksheet.cells.item($introw, 10)
$ActiveWorksheet.cells.item($introw, 12)
$ActiveWorksheet.cells.item($introw, 13)
$ActiveWorksheet.cells.item($introw, 14)
$ActiveWorksheet.cells.item($introw, 15)
$ActiveWorksheet.cells.item($introw, 16)
$ActiveWorksheet.cells.item($introw, 17)
$ActiveWorksheet.cells.item($introw, 18)
$ActiveWorksheet.cells.item($introw, 19)
$ActiveWorksheet.cells.item($introw, 20)
$ActiveWorksheet.cells.item($introw, 21)
$ActiveWorksheet.cells.item($introw, 22)
$ActiveWorksheet.cells.item($introw, 23)
$ActiveWorksheet.cells.item($introw, 24)
$ActiveWorksheet.cells.item($introw, 25)
$ActiveWorksheet.cells.item($introw, 26)
$ActiveWorksheet.cells.item($introw, 27)
$ActiveWorksheet.UsedRange.EntireColumn.AutoFit();
}
Personnellement, je verrais du côté de fichiers *.CSV...
C'est ce que j'utilise pour mes rapports de gestion de parc.
Faciles à manipuler avec Powershell et compatible avec Excell.
Pas de soucis de mise en forme en tous cas.
ci-dessous, un exemple de manipulation de ce genre de fichier.
C'est ce que j'utilise pour mes rapports de gestion de parc.
Faciles à manipuler avec Powershell et compatible avec Excell.
Pas de soucis de mise en forme en tous cas.
ci-dessous, un exemple de manipulation de ce genre de fichier.
# Manipulation de fichiers CSV # 1 Import CSV # Exemple de transfert d'un fichier source vers un fichiers de destination # Contenu du fichier CSV # DossierSource;DossierDestination #"E:\Labo Powershell\Temp\SOURCE";"E:\Labo Powershell\Temp\DESTINATION" Import-Csv -Path "E:\Labo Powershell\Temp\democsv.csv" -Delimiter ";" # si problème avec les accents, utiliser -Encoding # Pour sélectionner qu'une sule colonne Import-Csv -Path "E:\Labo Powershell\Temp\democsv.csv" -Delimiter ";" -Header DossierSource # ou | Select DossierSource # Pour expoitter le fichier CSV, stocker dans une variable $CSV = Import-Csv -Path "E:\Labo Powershell\Temp\democsv.csv" -Delimiter ";" $CSV # Faire une boucle pour lister l'ensemble des lignes du fichier CSV et appliquer un traitement Foreach($Ligne in $CSV){ Write-Host $Ligne } Foreach($Ligne in $CSV){ Write-Host $Ligne.DossierSource } #Nous pouvons même créer des retours sous formes de phrase Foreach($Ligne in $CSV){ Write-Host "Données transférées de $($Ligne.DossierSource) vers $($Ligne.DossierDestination)"} #Transfert Des Fichiers de DossierSource vers DossierDesintation $CSV = Import-Csv -Path "E:\Labo Powershell\Temp\democsv.csv" -Delimiter ";" Foreach($Ligne in $CSV){ Write-Host "Données transférées de $($Ligne.DossierSource) vers $($Ligne.DossierDestination)" Move-Item -Path "$($Ligne.DossierSource)\*" -Destination "$($Ligne.DossierDestination)" } #2. Exporter au format CSV # Lister les services des systèmes avec des colonnes Name, display et status Get-Service # Si export en l'état, toutes les propriétés même cachées seront intégrées. Get-Service | Select-Object DisplayName, Name, Status # ajout d'un Pipe pour l'export Get-Service | Select-Object DisplayName, Name, Status | Export-Csv -Path "E:\Labo Powershell\Temp\Sevices.csv" -Delimiter ";" Import-Csv -Path "E:\Labo Powershell\Temp\Sevices.csv" -Delimiter ";" #Pour écrire dans un fichier CSV en ajoutant le contenu à la fin du fichier sans écraser, #ajouter l'option -append. #à partir de la version PSH 7, -useQuotes Always va encodrer les données par des guillemets, sinon -useQuotes Never permet de mieux gérer les chaînes de caractères si besoin. #-useQuotes AsNeeded permet de laisser le système gérer le besoin de guillemets. #-QuoteFields permet de déterminer pour quelle colonne l'on impose les guillemets. #3. #Créer son propre CSV #Ex fichiers logs New-Item -ItemType File -Path "E:\Labo Powershell\Temp\Log.csv" -Force Add-Content -Path "E:\Labo Powershell\Temp\Log.csv" -Value "Date;Type;Message" Get-Content "E:\Labo Powershell\Temp\Log.csv" Add-Content -Path "E:\Labo Powershell\Temp\Log.csv" -Value "$(Get-Date -Format yyyyMMdd_HHmm) ; Erreur;Voici le soucis!" Get-Content "E:\Labo Powershell\Temp\Log.csv" Import-Csv -Path "E:\Labo Powershell\Temp\Log.csv" -Delimiter ";" # Nous pouvons filtrer sur erreur Import-Csv -Path "E:\Labo Powershell\Temp\Log.csv" -Delimiter ";" | Where { $_.Type -eq "Erreur"}
Ah super merci beaucoup je vais regarder alors pour mettre tout ca dans un CSV, pour ce qui est de la gestion des cellules (format ....) comment cela ce passe ? :S
j'ai aussi beaucoup de variable differentes .... comment faire pour placé tel ou tel variable dans la bonne cellule ?
merci beaucoup
j'ai aussi beaucoup de variable differentes .... comment faire pour placé tel ou tel variable dans la bonne cellule ?
merci beaucoup
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
travaille par colonne ...
colonne1;colonne2; colonne3
ça se sont les entêtes ...
à toi de gérer la manière de remplir tes colonnes...
tu crées ton fichier, s'il n'existe pas bien sûr.
Tu définis les entêtes de colonnes
Là tu places tes différentes variables dans le même ordre que tes entêtes.
Mis dans une boucle, les différentes entrées seront créées par ligne et dans l'ordre des entêtes.
colonne1;colonne2; colonne3
ça se sont les entêtes ...
à toi de gérer la manière de remplir tes colonnes...
New-Item -ItemType File -Path "chemin\tonfichier.csv" -Force
tu crées ton fichier, s'il n'existe pas bien sûr.
Add-Content -Path "chemin\tonfichier.csv" -Value "colonne1;colonne2;colonne3"
Tu définis les entêtes de colonnes
Add-Content -Path "chemin\tonfichier.csv" -Value "donnée1;donnée2;donnée3"
Là tu places tes différentes variables dans le même ordre que tes entêtes.
Mis dans une boucle, les différentes entrées seront créées par ligne et dans l'ordre des entêtes.
je te remercie infiniment !
cela va grandement m'aider !
j'avoue qu'en une semaine j'ai "appris a PowerShell"
et la je me sens plus que pret a dev XD
merci encore,
cela va grandement m'aider !
j'avoue qu'en une semaine j'ai "appris a PowerShell"
et la je me sens plus que pret a dev XD
merci encore,
euh finalement j'aurai besoin d'un peu d'aide encore ... en gros vis a vis de mon script, je dois d'abord l'exporter en csv ? enfin je reste bloque (je me suis perdus dans l'ordre des chose ... )
ou en txt puis l'exporter en csv ? sachant que la mise en forme du tableau csv doit etre faite lors de ca creation j'imagine ...
ou en txt puis l'exporter en csv ? sachant que la mise en forme du tableau csv doit etre faite lors de ca creation j'imagine ...
tu crées ton CSV au début du script, ensuite tu récupéres tes données au fur à mesure et tu les ajoutes à ton csv en veillant à suivre l'ordre de tes entêtes. Pas besoin de txt.
l'idéal étant de faire ça dans une boucle, scanner ton réseau (par ip par exemple) et interroger chaque machine à distance à l'aide des outils PSSession et invoke-command..
Je te fournis un exemple dès que possible.
l'idéal étant de faire ça dans une boucle, scanner ton réseau (par ip par exemple) et interroger chaque machine à distance à l'aide des outils PSSession et invoke-command..
Je te fournis un exemple dès que possible.
super merci, le soucis c'est que je ne sais pas comment faire un boucle en integrant mes résultats de variables .... car je ne comprends pas le fonctionnement des bouccles ....
je suis une boulet tu peux le dire haha ...
j'essaye des trucs mais c'est pas évident en plus lorsque je créer le CSV sois rien ne s’affiche dedans sois il est écrit dans des colonnes et lignes différents lengt 10 (comme si il ne savait pas inscrire les données ....
j'ai l'impression d'avoir compris les commandes et variables mais le reste je patauge ....
je suis une boulet tu peux le dire haha ...
j'essaye des trucs mais c'est pas évident en plus lorsque je créer le CSV sois rien ne s’affiche dedans sois il est écrit dans des colonnes et lignes différents lengt 10 (comme si il ne savait pas inscrire les données ....
j'ai l'impression d'avoir compris les commandes et variables mais le reste je patauge ....
Bonjour ..
Une solution possible est de travailler sur base d'un fichier *.txt reprenant les adresses IP de tes machines (un IP par ligne).
Ici un exemple pour récupérer le nom de la machine et afficher toutes les infos système.
Une solution possible est de travailler sur base d'un fichier *.txt reprenant les adresses IP de tes machines (un IP par ligne).
Ici un exemple pour récupérer le nom de la machine et afficher toutes les infos système.
Get-Content C:\Mes_Adresses_IP.txt | ForEach-Object{ $nomHote = ([System.Net.Dns]::GetHostByAddress($_)).Hostname if($? -eq $True) { Write-host $nomHote Get-CimInstance -Class CIM_ComputerSystem -ComputerName $nomHote -ErrorAction Stop | Select-Object * | Out-GridView } else { Write-Host $_ +"Nom PC Inconnu" } }