用job批量导入导出用户组权限(export import user group permission by job script)

本文介绍了一种使用Job脚本批量处理用户组权限的方法,包括如何将所有用户组权限导出到文件以及如何从指定文件夹中导入用户组权限。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转自:秋毫

原作者:Andy

 

用job批量导入导出用户组权限(export import user group permission by job script)

 

导出:

static void ExportAllUserGroupsToFiles(Args _args)
{

    SysSecurityUserGroup sysSecurity;
    UserGroupInfo userGroupInfo;
    userGroupId userGroupId , tmpUserGroupId;
    domainId domainId , tmpDomainId;
    domainInfo domainInfo;

    FilePath filepath;
    FileNameSave fileName, fileNameExport;
    BinaryIo file;
    Filename path, onlyName, ext;
    int hwnd;
    ;
    filePath = winApi::browseForPath(hwnd);

    if (filePath)
    {
        sysSecurity = SysSecurityUserGroup::construct();

        while select domainInfo
        {
            domainId = domainInfo.id;

            while select userGroupInfo
            {
            userGroupId = userGroupInfo.id;
            if (userGroupId != 'Admin')
            {
                fileNameExport = domainId + '#' + userGroupId;
                fileName = filePath + '//' + fileNameExport;

                tmpUserGroupId = sysSecurity.parmUserGroupId();
                tmpDomainId = sysSecurity.parmDomainId();

                sysSecurity.save();
                sysSecurity.parmDomainId( domainId );
                sysSecurity.parmUserGroupId( userGroupId );
                sysSecurity.load();
                sysSecurity.export( fileName );
                }
            }
        }
    }
}

 

导入:

static void ImportUserGroupRightsFromFolder(Args _args)
{
    integer hdl, pos;
    FileName fileName;
    DomainId domainId;
    UserGroupId userGroupId;
    FilePath filePath = "C://temp_security//";
    int hwnd;
    #File
    ;
    filePath = winApi::browseForPath(hwnd);

    if (filePath)
    {
    filePath += '//';
    [hdl, fileName] = WinAPI::findFirstFile(filePath + #AllFilesName +
    #AllFilesExt);
    setPrefix('Start');
    while (fileName)
    {
        pos = StrFind(filename,"#",1,strlen(fileName));
        if (pos > 0)
        {
            setprefix(filePath + filename);
            domainId = substr(fileName,1,pos-1);
            userGroupId = strreplace(substr(fileName,pos+1,strlen(fileName)),'.asg','');
            info(strfmt('Domain: %1, Group: %2',domainId,userGroupId));
            //info(userGroupId);
            sysSecurityUserGroup::importRights(userGroupId,domainId,filePath + fileName);
        }
        fileName = WinAPI::findNextFile(hdl);
        }
        WinAPI::findClose(hdl);
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值