verpit
asked on
restrict SSIDs from showing up only under certain conditions
We have some laptop PCs that are normally connected via CAT5 to our Active Directory network. When they are connected in this manner, we would like to keep SSIDs from showing up. I'd like some suggestions of how to do this.
This disables the wireless nic when the wired one is connected - I do not think that you can actually hide the wireless SSID - or do I misunderstand the question?
unless you disable the wireless NIC, the SSID's will show - you can restrcit in AD which wireless networks they can connect too
What I meant was - you cannot programatically hide the wireless SSID from the laptop - group policy can be used to restrict access to which wireless networks - but this would be pretty pointless for a few laptops.
ASKER
and235100, Great answer... I realize I'm showing my ignorance here but am wondering how I would implement this code you mentioned?
Const HKEY_LOCAL_MACHINE = &H80000002
Set objShell = CreateObject("WScript.Shell")
Set objWMIService_wmi = GetObject("winmgmts:\\.\root\wmi")
Set colMonitoredEvents = objWMIService_wmi.ExecNotificationQuery("Select * from MSNdis_StatusMediaConnect")
Do While True
Set strLatestEvent = colMonitoredEvents.NextEvent
Wscript.Echo "A network connection has been disconnected: " & strLatestEvent.InstanceName
nicdesc = strLatestEvent.InstanceName
Set objWMIService_cimv2 = GetObject("winmgmts:\\.\root\cimv2")
Set colNics = objWMIService_cimv2.ExecQuery("Select * From Win32_NetworkAdapterConfiguration Where ipEnabled = True")
'Determine nic which trggered the event
For Each objItem in colNics
If objItem.description = nicdesc & " - Packet Scheduler Miniport" then
trig_macaddress = objItem.MacAddress
trig_nicguid = objItem.SettingID
trig_strKeyPath = "HKLM\SYSTEM\ControlSet001\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}\" & trig_nicguid & "\Connection\MediaSubType"
trig_subtype = objShell.RegRead(trig_strKeyPath)
Exit For
End If
Next
'If the nic was wired then find wireless nics and disable them
If trig_subtype = 1 then
For Each objItem in colNics
nicguid = objItem.SettingID
strKeyPath = "HKLM\SYSTEM\ControlSet001\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}\" & nicguid & "\Connection\MediaSubType"
subtype = ""
on error resume next
subtype = objShell.RegRead(strKeyPath)
If err.number <> 0 then
subtype = 0
err.clear
on error goto 0
End If
If (subtype = 2) then
wireless_macaddress = objItem.MacAddress
set colAdapters = objWMIService_cimv2.Execquery("Select * from Win32_NetworkAdapter where macaddress ='" & wireless_macaddress & "'")
For Each Adapter in colAdapters
constatus = Adapter.NetConnectionStatus
If constatus <> "" then
wscript.echo SetConnState(Adapter.NetConnectionID,0)
End If
Next
End If
Next
End If
Loop
Function SetConnState(strConn,constate)
Const CONTROL_PANEL = &H3&
Set objShell = CreateObject("Shell.Application")
Set objCP = objShell.Namespace(CONTROL_PANEL)
If connstate = 0 then connAction = "Disa&ble"
If connstate = 1 then connAction = "En&able"
Set colNetwork = Nothing
For Each clsConn in objCP.Items
If clsConn.Name = "Network Connections" Then
Set colNetwork = clsConn.getfolder
Exit For
End If
Next
If colNetwork is Nothing Then
WScript.Echo "Network folder not found"
SetConnState = False
Exit Function
End If
Set clsLANConn = Nothing
For Each clsConn in colNetwork.Items
If Instr(LCase(clsConn.name),LCase(strConn)) Then
Set clsLANConn = clsConn
Exit For
End If
Next
If clsLANConn is Nothing Then
WScript.Echo "Network Connection not found"
SetConnState = False
Exit Function
End If
bEnabled = True
Set objEnable = Nothing
Set objDisable = Nothing
For Each clsVerb in clsLANConn.verbs
If clsVerb.name = connAction Then
Set objAction = clsVerb
End If
Next
wscript.echo REPLACE(connAction,"&","") & " " & strConn & "..."
objAction.DoIt
End Function
'The Control Panel automation derived from: http://mcpmag.com/columns/article.asp?EditorialsID=619
'NIC connect/disconnect trigger derived from: http://www.microsoft.com/technet/scriptcenter/resources/qanda/mar05/hey0321.mspx
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
i agree with andy on this - just for the record
I apologise that I expect too much from people - but what is the point of marking yourself as "Advanced" on the topic in question, if you cannot apply a script to a GPO - especially when the subject of the question implied some sort of script for a domain as a resolution.
(I know that my "answer" is not spot-on - but as I stated - you cannot programatically hide the SSID from a laptop, as far as my "ignorance" goes.)
>> since when do we accept everything the questioner fills out in the question form as completely accurate?
That is often all we have to go on! :) Very little additional information was given in this Q by the Asker.
(I know that my "answer" is not spot-on - but as I stated - you cannot programatically hide the SSID from a laptop, as far as my "ignorance" goes.)
>> since when do we accept everything the questioner fills out in the question form as completely accurate?
That is often all we have to go on! :) Very little additional information was given in this Q by the Asker.
Thanks Lee
Forced accept.
Computer101
EE Admin
Computer101
EE Admin
http://www.gpanswers.com/community/viewtopic.php?p=4447