Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/python -tt
- __author__ = 'Zack Smith @acidprime'
- __version__ = '0.1'
- import sys
- import getopt
- from Cocoa import NSMutableDictionary
- global debugEnabled
- debugEnabled = True
- def main():
- if(debugEnabled): print 'Processing Arguments: ', sys.argv[1:]
- options, remainder = getopt.getopt(sys.argv[1:], 'w:u:p:', ['username=',
- 'password=',
- 'write=',
- ])
- for opt, arg in options:
- if opt in ('-u', '--username'):
- userName = arg
- elif opt in ('-p', '--password'):
- userPass = arg
- elif opt in ('-w', '--write'):
- saveFile = arg
- # Hardcoded values for the moment
- orgName = 'somecompany'
- networkName = 'somenetwork'
- mdmHost = 'com.apple.mdm.mute.wallcity.org'
- payloadUUID = '81f55323-c1a2-47fd-aee3-7b8a93d31472'
- _payloadUUID = '52f7d163-f2bb-4972-8a26-411355229cc5'
- # Generate the profile
- genLionProfile(userName,
- userPass,
- payloadUUID,
- _payloadUUID,
- networkName,
- mdmHost,
- orgName,
- saveFile)
- # Need to clean this up with defaults or a dict
- def genLionProfile(userName,
- userPass,
- payloadUUID,
- _payloadUUID,
- networkName,
- mdmHost,
- orgName,
- saveFile):
- plist = NSMutableDictionary.alloc().init()
- # EAPClientConfiguration
- AcceptEAPTypes = []
- _AcceptEAPTypes = 25
- AcceptEAPTypes = [_AcceptEAPTypes]
- tlsTrustedServerNames = []
- EAPClientConfiguration = {}
- EAPClientConfiguration['AcceptEAPTypes'] = AcceptEAPTypes
- EAPClientConfiguration['TTLSInnerAuthentication'] = 'MSCHAPv2'
- EAPClientConfiguration['UserName'] = userName
- EAPClientConfiguration['UserPassword'] = userPass
- EAPClientConfiguration['tlsTrustedServerNames'] = tlsTrustedServerNames
- # PayloadContent
- PayloadContent = []
- _PayloadContent = {}
- _PayloadContent['AuthenticationMethod'] = ''
- _PayloadContent['EAPClientConfiguration'] = EAPClientConfiguration
- _PayloadContent['EncryptionType'] = 'WPA'
- _PayloadContent['HIDDEN_NETWORK'] = False
- _PayloadContent['Interface'] = 'BuiltInWireless'
- _PayloadContent['PayloadDisplayName'] = '%s-%s' % (networkName,userName)
- _PayloadContent['PayloadEnabled'] = True
- _PayloadContent['PayloadIdentifier'] = '%s.%s.alacarte.interfaces.%s' % (mdmHost,payloadUUID,_payloadUUID)
- _PayloadContent['PayloadType'] = 'com.apple.wifi.managed'
- _PayloadContent['PayloadUUID'] = _payloadUUID
- _PayloadContent['PayloadVersion'] = 1
- _PayloadContent['SSID_STR'] = networkName
- PayloadContent = [_PayloadContent]
- plist['PayloadContent'] = PayloadContent
- plist['PayloadDisplayName'] = 'WPA2'
- plist['PayloadIdentifier'] = '%s.%s.alacarte' % (mdmHost,payloadUUID)
- plist['PayloadOrganization'] = orgName
- plist['PayloadRemovalDisallowed'] = False
- plist['PayloadScope'] = 'User'
- plist['PayloadType'] = 'Configuration'
- plist['PayloadUUID'] = payloadUUID
- plist['PayloadVersion'] = 1
- print plist
- exportFile = saveFile
- plist.writeToFile_atomically_(exportFile,True)
- return exportFile
- if __name__ == "__main__":
- sys.exit(main())
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement