def create(self, request, *args, **kwargs): ''' * Set-Mailbox * https://docs.microsoft.com/en-us/powershell/module/exchange/mailboxes/Set-Mailbox?view=exchange-ps * 新增/删除 用户smtp地址 * Set-Mailbox -Identity wzx -EmailAddresses @{add='*****@*****.**'} * Set-Mailbox -Identity wzx -EmailAddresses @{remove='*****@*****.**'} - identity 联系人唯一标识 (Name,Alias,Distinguished name (DN),Canonical DN,domain name\\account name,Email address,GUID,LegacyExchangeDN,SamAccountName,User ID or user principal name (UPN)) - EmailAddresses 邮箱地址 - **kwargs 表示函数接收可变长度的关键字参数字典作为函数的输入 ''' try: # 1. 反序列化 将其他格式(字典、JSON、XML等)转换为程序中的数据,例如将JSON字符串转换为Django中的模型类对象 serializer = self.get_serializer(data=request.data) # 验证数据 serializer.is_valid(raise_exception=True) headers = self.get_success_headers(serializer.data) data = serializer.data initial_data = serializer.initial_data kwargs = getkwargs(data, initial_data) result = SetMailboxEmailAddresses(data.get('identity'), **kwargs) except Exception as e: result = { "isSuccess": False, "message": '', 'count': 0, 'msg': str(e), 'code': 2 } insert_drf_api_log(request, str(result['isSuccess']), str(result)) return Response(result, status=status.HTTP_200_OK)
def create(self, request, *args, **kwargs): ''' * Set-DistributionGroup * https://docs.microsoft.com/en-us/powershell/module/exchange/users-and-groups/Set-DistributionGroup?view=exchange-ps * 设置群组邮箱 - identity 联系人唯一标识 (Name,Alias,Distinguished name (DN),Canonical DN,Email address,GUID) - **kwargs 表示函数接收可变长度的关键字参数字典作为函数的输入 ''' try: # 1. 反序列化 将其他格式(字典、JSON、XML等)转换为程序中的数据,例如将JSON字符串转换为Django中的模型类对象 serializer = self.get_serializer(data=request.data) # 验证数据 serializer.is_valid(raise_exception=True) headers = self.get_success_headers(serializer.data) data = serializer.data initial_data = serializer.initial_data kwargs = getkwargs(data, initial_data) result = SetDistributionGroup(data.get('identity'), **kwargs) except Exception as e: result = { "isSuccess": False, "message": '', 'count': 0, 'msg': str(e), 'code': 2 } insert_drf_api_log(request, str(result['isSuccess']), str(result)) return Response(result, status=status.HTTP_200_OK)
def create(self, request, *args, **kwargs): ''' * RNew-MailContact * https://docs.microsoft.com/en-us/powershell/module/exchange/users-and-groups/New-MailContact?view=exchange-ps * 新建联系人 - Name =》CN,(displayname如果不写也会赋此值) 必须 - ExternalEmailAddress 邮件地址 (必须) - **kwargs 表示函数接收可变长度的关键字参数字典作为函数的输入 ''' try: # 1. 反序列化 将其他格式(字典、JSON、XML等)转换为程序中的数据,例如将JSON字符串转换为Django中的模型类对象 serializer = self.get_serializer(data=request.data) # 验证数据 serializer.is_valid(raise_exception=True) headers = self.get_success_headers(serializer.data) data = serializer.data initial_data = serializer.initial_data kwargs = getkwargs(data, initial_data) result = NewMailContacthight(data.get('Name'), data.get('ExternalEmailAddress'), **kwargs) except Exception as e: result = { "isSuccess": False, "message": '', 'count': 0, 'msg': str(e), 'code': 2 } insert_drf_api_log(request, str(result['isSuccess']), str(result)) return Response(result, status=status.HTTP_200_OK)
def create(self, request, *args, **kwargs): ''' * Enable-Mailbox * 官方url:https://docs.microsoft.com/en-us/powershell/module/exchange/mailboxes/Enable-Mailbox?view=exchange-ps * 启用用户邮箱(启用归档邮箱) - identity 用户唯一标识(Name,Distinguished name (DN),Canonical DN,GUID) - ArchiveDatabase 数据库 - **kwargs 表示函数接收可变长度的关键字参数字典作为函数的输入 ''' try: # 1. 反序列化 将其他格式(字典、JSON、XML等)转换为程序中的数据,例如将JSON字符串转换为Django中的模型类对象 serializer = self.get_serializer(data=request.data) # 验证数据 serializer.is_valid(raise_exception=True) headers = self.get_success_headers(serializer.data) data = serializer.data initial_data = serializer.initial_data kwargs = getkwargs(data, initial_data) result = EnableMailboxarchive(data['identity'], data['ArchiveDatabase'], **kwargs) except Exception as e: result = { "isSuccess": False, "message": '', 'count': 0, 'msg': str(e), 'code': 2 } insert_drf_api_log(request, str(result['isSuccess']), str(result)) return Response(result, status=status.HTTP_200_OK)
def create(self, request, *args, **kwargs): ''' * Remove-ADPermission * https://docs.microsoft.com/zh-cn/powershell/module/exchange/active-directory/remove-adpermission?view=exchange-ps * 删除邮箱用户权限 代理发送权限 - identity 用户DN(必须) - User 删除哪个用户的权限(必须) - **kwargs 表示函数接收可变长度的关键字参数字典作为函数的输入 ''' try: # 1. 反序列化 将其他格式(字典、JSON、XML等)转换为程序中的数据,例如将JSON字符串转换为Django中的模型类对象 serializer = self.get_serializer(data=request.data) # 验证数据 serializer.is_valid(raise_exception=True) headers = self.get_success_headers(serializer.data) data = serializer.data initial_data = serializer.initial_data kwargs = getkwargs(data, initial_data) result = RemoveADPermissionhight(data.get('identity'), data.get('User'), parametername='InheritanceType', parametervalue='All', parametername0='ExtendedRights', parametervalue0='send-as', **kwargs) except Exception as e: result = { "isSuccess": False, "message": '', 'count': 0, 'msg': str(e), 'code': 2 } insert_drf_api_log(request, str(result['isSuccess']), str(result)) return Response(result, status=status.HTTP_200_OK)
def create(self, request, *args, **kwargs): ''' * Remove-MoveRequest * https://docs.microsoft.com/en-us/powershell/module/exchange/move-and-migration/Remove-MoveRequest?view=exchange-ps * 删除用户邮箱迁移请求 - identity 移动请求用户的唯一标识(GUID,Distinguished name (DN),Domain\Account,User principal name (UPN),Legacy Exchange DN,SMTP address,Alias) - **kwargs 表示函数接收可变长度的关键字参数字典作为函数的输入 ''' try: # 1. 反序列化 将其他格式(字典、JSON、XML等)转换为程序中的数据,例如将JSON字符串转换为Django中的模型类对象 serializer = self.get_serializer(data=request.data) # 验证数据 serializer.is_valid(raise_exception=True) headers = self.get_success_headers(serializer.data) data = serializer.data initial_data = serializer.initial_data kwargs = getkwargs(data, initial_data) result = RemoveMoveRequesthight(data.get('identity'), **kwargs) except Exception as e: result = { "isSuccess": False, "message": '', 'count': 0, 'msg': str(e), 'code': 2 } insert_drf_api_log(request, str(result['isSuccess']), str(result)) return Response(result, status=status.HTTP_200_OK)
def create(self, request, *args, **kwargs): ''' * Add-MailboxPermission * https://docs.microsoft.com/en-us/powershell/module/exchange/mailboxes/Add-MailboxPermission?view=exchange-ps * 添加邮箱用户权限,添加完全访问权限 - identity 联系人唯一标识(必须)(Name,Alias,Distinguished name (DN),Canonical DN,domain name\\account name,Email address,GUID,LegacyExchangeDN,SamAccountName,User ID or user principal name (UPN)) - User 添加哪个用户的权限(必须) - **kwargs 表示函数接收可变长度的关键字参数字典作为函数的输入 ''' try: # 1. 反序列化 将其他格式(字典、JSON、XML等)转换为程序中的数据,例如将JSON字符串转换为Django中的模型类对象 serializer = self.get_serializer(data=request.data) # 验证数据 serializer.is_valid(raise_exception=True) headers = self.get_success_headers(serializer.data) data = serializer.data initial_data = serializer.initial_data kwargs = getkwargs(data, initial_data) result = AddMailboxPermissionhight(data.get('identity'), data.get('User'), parametername='AccessRights', parametervalue='FullAccess', **kwargs) except Exception as e: result = { "isSuccess": False, "message": '', 'count': 0, 'msg': str(e), 'code': 2 } insert_drf_api_log(request, str(result['isSuccess']), str(result)) return Response(result, status=status.HTTP_200_OK)
def create(self, request, *args, **kwargs): ''' * get-ADPermission * https://docs.microsoft.com/en-us/powershell/module/exchange/active-directory/Get-ADPermission?view=exchange-ps * 获取邮箱用户权限,获取代理发送权限 - identity 用户DN,如果有空格,需要用双引号括起来 - **kwargs 表示函数接收可变长度的关键字参数字典作为函数的输入 ''' try: # 1. 反序列化 将其他格式(字典、JSON、XML等)转换为程序中的数据,例如将JSON字符串转换为Django中的模型类对象 serializer = self.get_serializer(data=request.data) # 验证数据 serializer.is_valid(raise_exception=True) headers = self.get_success_headers(serializer.data) data = serializer.data initial_data = serializer.initial_data kwargs = getkwargs(data, initial_data) result = getADPermission(data.get('identity'), **kwargs) except Exception as e: result = { "isSuccess": False, "message": '', 'count': 0, 'msg': str(e), 'code': 2 } insert_drf_api_log(request, str(result['isSuccess']), str(result)) return Response(result, status=status.HTTP_200_OK)
def create(self, request, *args, **kwargs): ''' * New-MoveRequest * https://docs.microsoft.com/zh-cn/powershell/module/exchange/move-and-migration/new-moverequest?view=exchange-ps * 迁移用户邮箱和存档数据库 - identity 用户唯一标识(必须)(GUID,Distinguished name (DN),Domain\Account,User principal name (UPN),LegacyExchangeDN,SMTP address,Alias) - TargetDatabase迁移用户邮箱的目标数据库(和ArchiveTargetDatabase至少要有一个) - ArchiveTargetDatabase迁移用户归档邮箱的目标数据库(和TargetDatabase至少要有一个) - **kwargs 表示函数接收可变长度的关键字参数字典作为函数的输入 ''' try: # 1. 反序列化 将其他格式(字典、JSON、XML等)转换为程序中的数据,例如将JSON字符串转换为Django中的模型类对象 serializer = self.get_serializer(data=request.data) # 验证数据 serializer.is_valid(raise_exception=True) headers = self.get_success_headers(serializer.data) data = serializer.data initial_data = serializer.initial_data kwargs = getkwargs(data, initial_data) result = NewMoveRequest(data.get('identity'), data.get('TargetDatabase', None), data.get('ArchiveTargetDatabase', None), **kwargs) except Exception as e: result = { "isSuccess": False, "message": '', 'count': 0, 'msg': str(e), 'code': 2 } insert_drf_api_log(request, str(result['isSuccess']), str(result)) return Response(result, status=status.HTTP_200_OK)
def create(self, request, *args, **kwargs): ''' * get-mailboxdatabase * 官方url:https://docs.microsoft.com/en-us/powershell/module/exchange/mailbox-databases-and-servers/Get-MailboxDatabase?view=exchange-ps * 获取所有数据库名称/获取单一数据库信息 - **kwargs 表示函数接收可变长度的关键字参数字典作为函数的输入 ''' try: # 1. 反序列化 将其他格式(字典、JSON、XML等)转换为程序中的数据,例如将JSON字符串转换为Django中的模型类对象 serializer = self.get_serializer(data=request.data) # 验证数据 # serializer.is_valid(raise_exception=True) # headers = self.get_success_headers(serializer.data) # data = serializer.data kwargs = serializer.initial_data result = GetMailboxdatabase(**kwargs) except Exception as e: result = { "isSuccess": False, "message": '', 'count': 0, 'msg': str(e), 'code': 2 } insert_drf_api_log(request, str(result['isSuccess']), str(result)) return Response(result, status=status.HTTP_200_OK)
def create(self, request, *args, **kwargs): ''' * Get-ExchangeServer * https://docs.microsoft.com/en-us/powershell/module/exchange/organization/Get-ExchangeServer?view=exchange-ps * 获取邮箱服务器 - **kwargs 表示函数接收可变长度的关键字参数字典作为函数的输入 ''' try: # 1. 反序列化 将其他格式(字典、JSON、XML等)转换为程序中的数据,例如将JSON字符串转换为Django中的模型类对象 serializer = self.get_serializer(data=request.data) kwargs = serializer.initial_data result = GetExchangeServer(**kwargs) except Exception as e: result = { "isSuccess": False, "message": '', 'count': 0, 'msg': str(e), 'code': 2 } insert_drf_api_log(request, str(result['isSuccess']), str(result)) return Response(result, status=status.HTTP_200_OK)