sub WriteLimit { my $self=shift; my $User = "Administrator"; my $Password = "y0m0mmaf00"; #Password Changed to protect the innocent my $dso1 = Win32::OLE->GetObject("LDAP:"); my $LimitDN = "LDAP://$self->{ServerIP}/DC=LimitLogin,$self->{ServerDN}"; my $obj2 = $dso1->OpenDSObject($LimitDN,$User,$Password,0x201); my $LimitLogin = $obj2->Create("msLimitLoginUser","cn=$self->{Username}"); $LimitLogin->Put('msLimitLoginUsername',"$self->{Name}"); $LimitLogin->Put('msLimitLoginDenyLoginOnQuotaExceed', 'TRUE'); $LimitLogin->Put('msLimitLoginQuota' ,1); $LimitLogin->SetInfo(); my $LLogin = Win32::OLE->new("LLoginPerm.clsDSPermissions"); my $SchemaGUID = $LLogin->FlipOctetGuidToTextGuid("CN=Schema,CN=Configuration,$self->{ServerDN}"); my $strResult = $LLogin->fSetLLoginDSPermission($LimitLogin->{distinguishedname},$SchemaGUID, $self->{Domain},$LimitLogin->{CN}); }