29 lines
2.0 KiB
PowerShell

$wifiPortConfigurationServiceRef = $wsmanConnectionObject.NewReference("SELECT * FROM AMT_WiFiPortConfigurationService WHERE Name='Intel(r) AMT WiFi Port Configuration Service'")
$wifiEndpointRef = $wsmanConnectionObject.NewReference("SELECT * FROM CIM_WiFiEndpoint WHERE Name='WiFi Endpoint 0'")
$wifiEndpointSettingsInstance = $wsmanConnectionObject.NewInstance("CIM_WiFiEndpointSettings")
$wifiEndpointSettingsInstance.SetProperty("AuthenticationMethod", "5") # 5 = WPA IEEE802_1x
$wifiEndpointSettingsInstance.SetProperty("ElementName", "Wireless-Profile-802_1x")
$wifiEndpointSettingsInstance.SetProperty("InstanceID", "Wireless-Profile-802_1x")
$wifiEndpointSettingsInstance.SetProperty("EncryptionMethod", "3") # 3 = TKIP
$wifiEndpointSettingsInstance.SetProperty("Priority", "6")
$wifiEndpointSettingsInstance.SetProperty("SSID", "Wireless-API")
$ieee8021xSettingsInstance = $wsmanConnectionObject.NewInstance("CIM_IEEE8021xSettings")
$ieee8021xSettingsInstance.SetProperty("AuthenticationProtocol", "0") # 0 = EAP-TLS
$ieee8021xSettingsInstance.SetProperty("ElementName", "Wireless-Profile-802_1x")
$ieee8021xSettingsInstance.SetProperty("InstanceID", "Wireless-Profile-802_1x")
$ieee8021xSettingsInstance.SetProperty("Username", "wireless_user")
$inputObject = $wifiPortConfigurationServiceRef.CreateMethodInput("AddWiFiSettings")
$inputObject.SetProperty("WiFiEndpoint", $wifiEndpointRef)
$inputObject.SetProperty("WiFiEndpointSettingsInput", $wifiEndpointSettingsInstance)
$inputObject.SetProperty("IEEE8021xSettingsInput", $ieee8021xSettingsInstance)
# $publicKeyCertificateRef is an EPR to the AMT_PublicKeyManagementService object created by the 'Add a Public Key Certificate' use case.
$inputObject.SetProperty("ClientCredential", $publicKeyCertificateRef)
$outputObject = $wifiPortConfigurationServiceRef.InvokeMethod($inputObject)
$returnValue = $outputObject.GetProperty("ReturnValue")
if($returnValue -like "0")
{
$wifiEndpointSettings = $outputObject.GetProperty("WiFiEndpointSettings")
$ieee8021xSettings = $outputObject.GetProperty("IEEE8021xSettings")
}