The following steps describe how to enumerate and examine the currently defined wireless profiles. The profiles are contained in instances of CIM_WifiEndpointSettings and other objects that may be associated to the instance:CIM_IEEE8021xSettings, and CIM_IEEE8021xSettings, and AMT_PublicKeyCertificate.
Enumerate User Profiles
1. Enumerate the instances of CIM_WiFiEndpointSettings.
2. In each instance of CIM_WiFiEndpointSettings , the InstanceID parameter which starts with “Intel(r) AMT:WiFi Endpoint User Settings” signifies a user profile.
3. Retrieve the user profile name. The other parameters of of CIM_WiFiEndpointSettings are write only.
Click here for a snippet demonstrating this step
You can execute this snippet by inserting it into the execution template found here.
$wifiEndpointSettingsRef =$wsmanConnectionObject.NewReference("CIM_WiFiEndpointSettings")
foreach($wifiEndpointSettingsItem in$wifiEndpointSettingsRef.Enumerate())
{
$wifiEndpointSettingsInstance =$wifiEndpointSettingsItem.Object
$name =$wifiEndpointSettingsInstance.GetProperty("ElementName")
$priority =$wifiEndpointSettingsInstance.GetProperty("Priority")
$ssid =$wifiEndpointSettingsInstance.GetProperty("SSID")
$encryptionMethod =$wifiEndpointSettingsInstance.GetProperty("EncryptionMethod")
$authenticationMethod =$wifiEndpointSettingsInstance.GetProperty("AuthenticationMethod")
}
Enumerate Admin Profiles
1. Enumerate the instances of CIM_WiFiEndpointSettings.
2. In each instance of CIM_WiFiEndpointSettings , the InstanceID parameter which starts with “Intel(r) AMT:WiFi Endpoint Endpoint Settings” signifies an admin profile.
3. Retrieve the profile settings, including:
a. Name (used as profile name)
b. Priority
c. SSID
d. EncryptionMethod
e. AuthenticationMethod
Click here for a snippet demonstrating this step
You can execute this snippet by inserting it into the execution template found here.
$wifiEndpointSettingsRef =$wsmanConnectionObject.NewReference("CIM_WiFiEndpointSettings")
foreach($wifiEndpointSettingsItem in$wifiEndpointSettingsRef.Enumerate())
{
$wifiEndpointSettingsInstance =$wifiEndpointSettingsItem.Object
if( $wifiEndpointSettingsInstance.GetProperty("InstanceID").ToString().StartsWith("Intel(r) AMT:WiFi Endpoint Settings"))
{
$name =$wifiEndpointSettingsInstance.GetProperty("ElementName")
$priority =$wifiEndpointSettingsInstance.GetProperty("Priority")
$ssid =$wifiEndpointSettingsInstance.GetProperty("SSID")
$encryptionMethod =$wifiEndpointSettingsInstance.GetProperty("EncryptionMethod")
$authenticationMethod =$wifiEndpointSettingsInstance.GetProperty("AuthenticationMethod")
}
}
Examine IEEE802.1 Profile Settings
1. To find IEEE802.1x settings associated with a profile, from the CIM_WiFiEndpointSettings instance, traverse the CIM_ConcreteComponent association using the PartComponent property to find the instance of CIM_IEEE8021xSettings.
2. Examine the CIM_IEEE8021xSettings properties, such as AuthenticationProtocol, RoamingIdentity, and ServerCertificateName.
Click here for a snippet demonstrating this step
You can execute this snippet by inserting it into the execution template found here.
# Create a reference to the CIM_WiFiEndpointSettings instance.
$wifiEndpointsettingsRef =$wsmanConnectionObject.NewReference("CIM_WiFiEndpointSettings")
foreach($wifiEndpointSettingsItem in$wifiEndpointsettingsRef.Enumerate())
{
$wifiEndpointSettingsInstance =$wifiEndpointSettingsItem.Object
if( $wifiEndpointSettingsInstance.GetProperty("InstanceID").ToString().StartsWith("Intel(r) AMT:WiFi Endpoint Settings"))
{
$wifiEndpointSettingsRef =$wifiEndpointSettingsItem.Object.ToReference("InstanceID")
$concreteComponentRef =$wsmanConnectionObject.NewReference("CIM_ConcreteComponent")
$concreteComponentRef.AddSelector("GroupComponent",$wifiEndpointSettingsRef)
# Traverse to the CIM_ConcreteComponent instances that are connected to the CIM_WiFiEndpointSettings instance.
try
{
foreach($concreteComponentItem in$concreteComponentRef.Enumerate("http://schemas.dmtf.org/wbem/wsman/1/wsman/SelectorFilter",$null))
{
# For each instance, check if it is associated to the CIM_IEEE8021xSettings instance.
if($concreteComponentItem.Object.GetProperty("PartComponent").IsA("CIM_IEEE8021xSettings"))
{
# Get the CIM_IEEE8021xSettings using its EPR.
$ieee8021xSettingsInstance =$concreteComponentItem.Object.GetProperty("PartComponent").Ref.Get()
$authenticationProtocol =$ieee8021xSettingsInstance.GetProperty("AuthenticationProtocol")
$roamingIdentity =$ieee8021xSettingsInstance.GetProperty("RoamingIdentity")
$serverCertificateName =$ieee8021xSettingsInstance.GetProperty("ServerCertificateName")
}
}
}
# Continue to the next loop.
catch{}
}
}
3. To find certificate settings for this profile, from the instance of CIM_IEEE8021xSettings, traverse the CIM_CredentialContext association to find instances of AMT_PublicKeyCertificate.
4. Retrieve the instance and examine the CIM_IEEE8021xSettings properties, such as AuthenticationProtocol, RoamingIdentity and ServerCertificateName properties.
Instance Diagram
Classes Used in This Flow
SDK Sample
If there is a sample demonstrating this flow, it is included in the SDK installation file. See SDK Installation Layout for details.
See Also: |
Copyright © 2006-2022, Intel Corporation. All rights reserved. |