Auteur de questions
Script Powershell pour get-adcomputer et get-hotfix dans le même script

Discussion générale
-
Bonjour,
Je dois faire un script listant les ordinateurs sous Windows 7 de l'active directory, du genre :
Get-ADComputer -Filter { OperatingSystem -Like '*7*' } -Properties OperatingSystem | Format-Table Name,OperatingSystem -AutoSize | Out-File C:\w7systems.txt
Mais en ajoutant une colonne à ce tableau, la hotfixID.
Je suis vraiment bloqué, j'ai beau chercher (sûrement aux mauvais endroits) et je trouve pas...
Merci pour votre aide,
Kalomer
- Modifié Kalomer mardi 30 janvier 2018 14:04 info compromettante...
Toutes les réponses
-
Bonjour Kalomer,
Dîtes moi si ce script répond à votre besoin :
$csvArray = @() Get-ADComputer -Filter { OperatingSystem -Like '*7*' } -Properties OperatingSystem | ForEach-Object { $HotFixObject = (Get-HotFix -ComputerName $_.Name).HotFixID $HotFixObject | % { $HotFixString += "$_ "} $psObj = New-Object PSObject $psObj | Add-Member -MemberType NoteProperty -Name ComputerName -Value $($_.Name) -Force $psObj | Add-Member -MemberType NoteProperty -Name OperatingSystem -Value $($_.OperatingSystem) -Force $psObj | Add-Member -MemberType NoteProperty -Name HotFix -Value $( $HotFixString ) -Force $csvArray += $psObj } $csvArray | Export-Csv "the_csv.csv" -NoTypeInformation
-
Bonjour Romain,
Je vous remercie pour votre réponse et votre aide !!
J'ai tenté le script dans PowerShell ISE, mais j'ai eu un message d'erreur...
PS C:\Windows\system32> $csvArray = @()
Get-ADComputer -Filter { OperatingSystem -Like '*7*' } -Properties OperatingSystem | ForEach-Object {
$HotFixObject = (Get-HotFix -ComputerName $_.Name).HotFixID
$HotFixObject | % { $HotFixString += "$_ "}
$psObj = New-Object PSObject
$psObj | Add-Member -MemberType NoteProperty -Name ComputerName -Value $($_.Name) -Force
$psObj | Add-Member -MemberType NoteProperty -Name OperatingSystem -Value $($_.OperatingSystem) -Force
$psObj | Add-Member -MemberType NoteProperty -Name HotFix -Value $( $HotFixString ) -Force
$csvArray += $psObj
}
$csvArray | Export-Csv "the_csv.csv" -NoTypeInformationGet-HotFix : Le serveur RPC n’est pas disponible. (Exception de HRESULT : 0x800706BA)
Au caractère Ligne:3 : 22
+ $HotFixObject = (Get-HotFix -ComputerName $_.Name).HotFixID
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Get-HotFix], COMException
+ FullyQualifiedErrorId : System.Runtime.InteropServices.COMException,Microsoft.PowerShell.Commands.GetHotFixCommandJe suis aller cocher : "activer les services Internet COM sur mon ordinateur", et pourtant même message...
Que devrais-je faire d'autre?
-
-
Bonjour,
Pardon pour la réponse très tardive...
Le service RPC est bien activé, et il n'y a pas de pare-feu qui pourrait gêner quoique ce soit...
C'est bien la commande Get-Hotfix qui ne passe pas... Et j'imagine qu'il n'y a pas d'autre moyen d'obtenir la HotfixID (KB) pour chaque ordinateur de la liste :
Get-ADComputer -Filter { OperatingSystem -Like '*7*' } -Properties OperatingSystem | Format-Table Name,OperatingSystem -AutoSize | Out-File C:\w7systems.txt ?
Merci encore pour votre aide :)
Kalomer