Active directory 设置logonHours属性以锁定或解锁用户帐户
如何将logonHours属性的每一位(21字节)设置为零(用于锁定用户帐户)或一(用于解锁)?我已获得logonHours属性(以字节为单位),如下所示:Active directory 设置logonHours属性以锁定或解锁用户帐户,active-directory,Active Directory,如何将logonHours属性的每一位(21字节)设置为零(用于锁定用户帐户)或一(用于解锁)?我已获得logonHours属性(以字节为单位),如下所示: bytes[] logonHours = (byte[])de.Properties["logonHours"].Value; 这里有一篇文章可以帮助您://在搜索web之后,我使用了以下代码: public void myMethod(String p_UserName) { byte[] logonHours = n
bytes[] logonHours = (byte[])de.Properties["logonHours"].Value;
这里有一篇文章可以帮助您://在搜索web之后,我使用了以下代码:
public void myMethod(String p_UserName)
{
byte[] logonHours = null;
logonHours = (byte[])de.Properties["logonHours"].Value;
BitArray bitArray = new BitArray(logonHours);
for (int i = 0; i < bitArray.Count; i++)
{
//If bit is zero (that is false), logonHours is Locked
//If bit is one (that is true) then set to zero (false) to LOCK the account
if (bitArray[i])
{
bitArray.Set(i, false);
}
}
byte[] m_Bytes1 = MyExtension.ConvertToByteArray(bitArray);
de.Properties["logonHours"].Value = m_Bytes;
de.CommitChanges();
}
public void myMethod(字符串p_用户名)
{
字节[]logonHours=null;
logonHours=(字节[])de.Properties[“logonHours”].Value;
BitArray BitArray=新的BitArray(logonHours);
for(int i=0;i
静态类MyExtension
{
公共静态字节[]转换为字节数组(此位数组位)
{
int numBytes=位。计数/8;
如果(bits.Count%8!=0)numBytes++;
字节[]字节=新字节[numBytes];
int byteIndex=0,bitIndex=0;
for(int i=0;i public static byte[] ConvertToByteArray(this BitArray bits)
{
int numBytes = bits.Count / 8;
if (bits.Count % 8 != 0) numBytes++;
byte[] bytes = new byte[numBytes];
int byteIndex = 0, bitIndex = 0;
for (int i = 0; i < bits.Count; i++)
{
if (bits[i])
bytes[byteIndex] |= (byte)(1 << (7 - bitIndex));
bitIndex++;
if (bitIndex == 8)
{
bitIndex = 0;
byteIndex++;
}
}
return bytes;
}//end of method