' Setup ADO objects.
Set adoCommand = CreateObject("ADODB.Command")
Set adoConnection = CreateObject("ADODB.Connection")
adoConnection.Provider = "ADsDSOObject"
adoConnection.Open "Active Directory Provider"
Set adoCommand.ActiveConnection = adoConnection
' Search entire Active Directory domain.
Set objRootDSE = GetObject("LDAP://RootDSE")
strDNSDomain = objRootDSE.Get("defaultNamingContext")
strBase = "
' Filter on user objects.
strFilter = "(&(objectCategory=person)(objectClass=user))"
' Comma delimited list of attribute values to retrieve.
strAttributes = "sAMAccountName,cn,distinguishedName"
' Construct the LDAP syntax query.
strQuery = strBase & ";" & strFilter & ";" & strAttributes & ";subtree"
adoCommand.CommandText = strQuery
adoCommand.Properties("Page Size") = 100
adoCommand.Properties("Timeout") = 30
adoCommand.Properties("Cache Results") = False
' Run the query.
Set adoRecordset = adoCommand.Execute
' Enumerate the resulting recordset.
Do Until adoRecordset.EOF
 ' Retrieve values and display.
 strName = adoRecordset.Fields("sAMAccountName").Value
 strDName = adoRecordset.Fields("distinguishedName").Value
 strCN = adoRecordset.Fields("cn").value
    'Change "test_admin" to your data
 if strName="test_admin" then
  'Wscript.Echo "NT Name: " & strName & ", distinguishedName: " & strDName
  Set oUser = GetObject("LDAP://"&strDName)
  oUser.put "msExchHideFromAddressLists", True
  oUser.SetInfo  
  ExchangeAddressList="Disabled"
 end if
 ' Move to the next record in the recordset.
 adoRecordset.MoveNext
Loop
' Clean up.
adoRecordset.Close
adoConnection.Close
Mar 3, 2010
Hide user from exchange address list by msExchHideFromAddressLists
Reset oracle sequence procedure
Oracle sequence cannot reset by command , need workaround to achieve original start value.
CREATE OR REPLACE PROCEDURE reset_sequence (
seq_name IN VARCHAR2) AS
cval   INTEGER;
inc_by VARCHAR2(30);
BEGIN
  EXECUTE IMMEDIATE 'ALTER SEQUENCE ' ||seq_name||' MINVALUE 0';
  EXECUTE IMMEDIATE 'SELECT ' ||seq_name ||'.NEXTVAL FROM dual' INTO cval;
  IF cval < 0 THEN
    inc_by := ' INCREMENT BY ';
    cval:= ABS(cval);
  ELSE
    inc_by := ' INCREMENT BY -';
  END IF; 
  EXECUTE IMMEDIATE 'ALTER SEQUENCE ' || seq_name || inc_by || cval;
  EXECUTE IMMEDIATE 'SELECT ' ||seq_name ||'.NEXTVAL FROM dual'  INTO cval;
  EXECUTE IMMEDIATE 'ALTER SEQUENCE ' || seq_name || ' INCREMENT BY 1';
END reset_sequence;
/
Subscribe to:
Comments (Atom)