Dans l'article précédent nous avions vu comment activer la gestion à distance de Windows (WinRM) à l'aide des stratégies de groupe. Cette option vous permet entre autres d'exécuter à distance des commandes PowerShell sur des ordinateurs spécifiques. Une commande PowerShell intéressante est « Get-ComputerInfo ». Elle est en mesure de renvoyer pas mal d'élément sur la machine, comme le numéro de série, le fabricant du Bios, la version de l'OS, le processeur, la taille de la mémoire physique, la langue du clavier, le fuseau horaire, les mises à jour installées …
Dans l'exemple suivant nous interrogeons deux machines virtuelles (file1 et w10-1803).
Invoke-Command -ComputerName $computer -ScriptBlock { get-computerinfo } | select `
WindowsProductName,WindowsVersion,WindowsEditionId,BiosBIOSVersion, `
BiosSeralNumber,CsModel,CsProcessors,OsTotalVisibleMemorySize
Il est possible de récupérer directement la valeur d'une propriété dans une variable comme par exemple la taille de la mémoire :
$RAM= (Invoke-Command -ComputerName $computer -ScriptBlock { get-ComputerInfo }).OsTotalVisibleMemorySize
Il est donc simple avec Windows RM, d'exécuter un script à distance sur l'ensemble des ordinateurs membre de votre domaine Active Directory avec des actions différentes en fonction du fabricant ou de caractéristiques techniques.
La commande « Get-ComputerInfo » dispose d'un grand nombre d'information sur l'ordinateur, comme nous le montre l'exemple, ci-dessous.
WindowsBuildLabEx : 17763.1.amd64fre.rs5_release.180914-1434
WindowsCurrentVersion : 6.3
WindowsEditionId : Enterprise
WindowsInstallationType : Client
WindowsInstallDateFromRegistry : 16/08/2019 12:07:38
WindowsProductId : 00329-00000-00003-AA204
WindowsProductName : Windows 10 Enterprise
WindowsRegisteredOrganization : -
WindowsRegisteredOwner : -
WindowsSystemRoot : C:\WINDOWS
WindowsVersion : 1809
BiosCharacteristics : {7, 11, 12, 15...}
BiosBIOSVersion : {- 1072009, BIOS Date: 01/08/15 13:26:11 Ver: 04.06.05, BIOS Date: 01/08/15 13:26:11 Ver: 04.06.05}
BiosBuildNumber :
BiosCaption : BIOS Date: 01/08/15 13:26:11 Ver: 04.06.05
BiosCodeSet :
BiosCurrentLanguage : en|US|iso8859-1
BiosDescription : BIOS Date: 01/08/15 13:26:11 Ver: 04.06.05
BiosEmbeddedControllerMajorVersion : 255
BiosEmbeddedControllerMinorVersion : 255
BiosFirmwareType : Bios
BiosIdentificationCode :
BiosInstallableLanguages : 2
BiosInstallDate :
BiosLanguageEdition :
BiosListOfLanguages : {en|US|iso8859-1, ja|JP|unicode}
BiosManufacturer : FUJITSU // American Megatrends Inc.
BiosName : BIOS Date: 01/08/15 13:26:11 Ver: 04.06.05
BiosOtherTargetOS :
BiosPrimaryBIOS : True
BiosReleaseDate : 08/01/2015 01:00:00
BiosSeralNumber : xxxxxxxxxxx
BiosSMBIOSBIOSVersion : V4.6.5.4 R1.34.
BiosSMBIOSMajorVersion : 2
BiosSMBIOSMinorVersion : 7
BiosSMBIOSPresent : True
BiosSoftwareElementState : Running
BiosStatus : OK
BiosSystemBiosMajorVersion : 1
BiosSystemBiosMinorVersion : 34
BiosTargetOperatingSystem : 0
BiosVersion : 1072009
CsAdminPasswordStatus : Disabled
CsAutomaticManagedPagefile : True
CsAutomaticResetBootOption : True
CsAutomaticResetCapability : True
CsBootOptionOnLimit :
CsBootOptionOnWatchDog :
CsBootROMSupported : True
CsBootStatus : {0, 0, 0, 0...}
CsBootupState : Normal boot
CsCaption : UCxxxxxx
CsChassisBootupState : Safe
CsChassisSKUNumber : To be filled by O.E.M.
CsCurrentTimeZone : 60
CsDaylightInEffect : False
CsDescription : AT/AT COMPATIBLE
CsDNSHostName : UCxxxxxxx
CsDomain : mondomaine.local
CsDomainRole : MemberWorkstation
CsEnableDaylightSavingsTime : True
CsFrontPanelResetStatus : NotImplemented
CsHypervisorPresent : True
CsInfraredSupported : False
CsInitialLoadInfo :
CsInstallDate :
CsKeyboardPasswordStatus : NotImplemented
CsLastLoadInfo :
CsManufacturer : xxxx
CsModel : xxxx
CsName : UCxxxxx
CsNetworkAdapters : {Ethernet 2, Ethernet, vEthernet (Default Switch)}
CsNetworkServerModeEnabled : True
CsNumberOfLogicalProcessors : 4
CsNumberOfProcessors : 1
CsProcessors : {Intel(R) Core(TM) i5-4460 CPU @ 3.20GHz}
CsOEMStringArray : {FUJITSU TECHNOLOGY SOLUTIONS}
CsPartOfDomain : True
CsPauseAfterReset : -1
CsPCSystemType : Desktop
CsPCSystemTypeEx : Desktop
CsPowerManagementCapabilities :
CsPowerManagementSupported :
CsPowerOnPasswordStatus : Disabled
CsPowerState : Unknown
CsPowerSupplyState : Safe
CsPrimaryOwnerContact :
CsPrimaryOwnerName : -
CsResetCapability : Other
CsResetCount : -1
CsResetLimit : -1
CsRoles : {LM_Workstation, LM_Server, NT, Potential_Browser...}
CsStatus : OK
CsSupportContactDescription :
CsSystemFamily :
CsSystemSKUNumber : xxxxxx
CsSystemType : x64-based PC
CsThermalState : Safe
CsTotalPhysicalMemory : 8467845120
CsPhyicallyInstalledMemory : 8388608
CsUserName : mondomaine\pbarth
CsWakeUpType : PowerSwitch
CsWorkgroup :
OsName : Microsoft Windows 10 Entreprise
OsType : WINNT
OsOperatingSystemSKU : EnterpriseEdition
OsVersion : 10.0.17763
OsCSDVersion :
OsBuildNumber : 17763
OsHotFixes : {KB4514366, KB4470502, KB4470788, KB4489907...}
OsBootDevice : \Device\HarddiskVolume1
OsSystemDevice : \Device\HarddiskVolume1
OsSystemDirectory : C:\WINDOWS\system32
OsSystemDrive : C:
OsWindowsDirectory : C:\WINDOWS
OsCountryCode : 33
OsCurrentTimeZone : 60
OsLocaleID : 040c
OsLocale : fr-FR
OsLocalDateTime : 29/11/2019 13:50:10
OsLastBootUpTime : 22/11/2019 14:49:25
OsUptime : 6.23:00:45.4400689
OsBuildType : Multiprocessor Free
OsCodeSet : 1252
OsDataExecutionPreventionAvailable : True
OsDataExecutionPrevention32BitApplications : True
OsDataExecutionPreventionDrivers : True
OsDataExecutionPreventionSupportPolicy : OptIn
OsDebug : False
OsDistributed : False
OsEncryptionLevel : 256
OsForegroundApplicationBoost : Maximum
OsTotalVisibleMemorySize : 8269380
OsFreePhysicalMemory : 1873576
OsTotalVirtualMemorySize : 17706564
OsFreeVirtualMemory : 6957576
OsInUseVirtualMemory : 10748988
OsTotalSwapSpaceSize :
OsSizeStoredInPagingFiles : 9437184
OsFreeSpaceInPagingFiles : 8803492
OsPagingFiles : {D:\pagefile.sys}
OsHardwareAbstractionLayer : 10.0.17763.831
OsInstallDate : 16/08/2019 14:07:38
OsManufacturer : Microsoft Corporation
OsMaxNumberOfProcesses : 4294967295
OsMaxProcessMemorySize : 137438953344
OsMuiLanguages : {fr-FR}
OsNumberOfLicensedUsers : 0
OsNumberOfProcesses : 281
OsNumberOfUsers : 13
OsOrganization : -
OsArchitecture : 64 bits
OsLanguage : fr-FR
OsProductSuites : {TerminalServicesSingleSession}
OsOtherTypeDescription :
OsPAEEnabled :
OsPortableOperatingSystem : False
OsPrimary : True
OsProductType : WorkStation
OsRegisteredUser : -
OsSerialNumber : 00329-00000-00003-AA204
OsServicePackMajorVersion : 0
OsServicePackMinorVersion : 0
OsStatus : OK
OsSuites : {TerminalServices, TerminalServicesSingleSession}
OsServerLevel :
KeyboardLayout : fr-FR
TimeZone : (UTC+01:00) Bruxelles, Copenhague, Madrid, Paris
LogonServer :
PowerPlatformRole : Desktop
HyperVisorPresent : True
HyperVRequirementDataExecutionPreventionAvailable :
HyperVRequirementSecondLevelAddressTranslation :
HyperVRequirementVirtualizationFirmwareEnabled :
HyperVRequirementVMMonitorModeExtensions :
DeviceGuardSmartStatus : Off
DeviceGuardRequiredSecurityProperties : {0}
DeviceGuardAvailableSecurityProperties : {BaseVirtualizationSupport, DMAProtection}
DeviceGuardSecurityServicesConfigured : {0}
DeviceGuardSecurityServicesRunning : {0}
DeviceGuardCodeIntegrityPolicyEnforcementStatus :
DeviceGuardUserModeCodeIntegrityPolicyEnforcementStatus :