ad的pwdLastSet,微软时间戳转java的date

AD域建设管理(二)| python3+ldap3管理AD域实践(批量创建OU、用户、改密码、更新OU与用户) AD域建设管理(二)| python3+ldap3管理AD域实践(批量创建OU、用户、改密码) 阅读详情

在ad里面用户的密码最后修改时间是一个long型的。用微软的话说:the number of 100 nanosecond intervals since January 1, 1601 (UTC)

也就是是从1601年1月1日到当前时间的一个100纳秒数。首先这个数去掉后四位,就变成了毫秒数。

但是因为跟java的开始计算时间不一样,所以还不能比较。

java是从1970年1月1日00:00:00开始算。而微软从1601年1月1日00:00:00开始算。

要为这两个时间点中间差多少毫秒。可需要好好算一算,是不是还得算中间有多少闰年啊。

其实不用,只要举一个例子,知道一个具体的时间,直接能算出差值的。

比如现在知道 131596092000000000 是微软时间 2018年1月5日 的15:00:00 

而在java的date里这个日期的毫秒数是:1515135600000

两个的差是 11644473600000。

再有微软的时间,先砍掉后四位,在减去 11644473600000,就可以直接转java日期了。分毫不差。

        Date date  = new Date(13159609200000L);
        Date date2  = new Date(118,0,5,15,0,0);
        System.out.println(date2);
        System.out.println(date2.getTime());
        System.out.println(13159609200000L - date2.getTime());
        System.out.println(new Date(13205468290468L - 11644473600000L));

 

Vue3实战:从零构建ElementPlus后台管理系统全流程 本文详细介绍了从零开始使用Vue3和ElementPlus构建后台管理系统的全流程。内容涵盖环境准备、项目初始化、Vite配置、SCSS样式体系搭建、ElementPlus组件库引入与配置,以及封装可复用的SvgIcon组件进行图标管理,旨在帮助开发者快速搭建现代化、可维护的中后台应用。 阅读详情

相关推荐

学习STM32的无人机控制

下面是一个基于STM32的无人机控制的简单示例代码,包括四旋翼的PID控制、遥控器信号解析和电机控制。本示例以STM32F103系列为例,使用Keil C编译器进行开发。

qq_67153941的博客 706

AD域首次登陆修改密码设置

AD域首次登陆修改密码设置 设置pwdLastSet属性,为0首次登陆必须修改密码。 Csvde:批量导入、导出AD帐户 zhangyahui关注0人评论8880人阅读2011-01-17 11:31:13 Csvde Windows Server 2008 & Windows Server 2008 R2。 使用以逗号分隔值 (CSV) 格式存储数据的文件从 Active Directory 轻型目录服务 (AD LDS) 导入和导出数据。还可以支持基于 CSV...

荒野求生的博客 2820

Logisim实战:手把手教你设计硬布线版MIPS CPU(多周期/8指令/附电路图)

本文是一份详细的Logisim实战指南,手把手教你设计一个采用硬布线控制的多周期MIPS CPU。文章深入剖析了硬布线控制与微程序控制的核心理念差异,并逐步讲解了从定义执行状态、构建状态跳转逻辑到生成控制信号、集成测试的完整流程,最终实现一个支持8条指令、可运行简单程序的处理器模型。

g9h0i1的博客 592

AD账号属性的 PwdLastSet 和 PasswordLastSet 有什么区别?

AD账号属性的 PwdLastSet 和 PasswordLastSet 有什么区别? 两个都是最后一次设置密码的时间,但有点区别。 pwdLastSet pwdLastSet 是时间戳,使用起来不太直观,但参与运算是没问题的: D:> Get-ADUser -Filter 'Name -like "kj*"' -Properties * | Select-Object name,pwdlastset name pwdlastset ---- --.

lzbill的专栏 3397

华为交换机密码策略配置避坑指南:明文/密文、长度、复杂度,一个命令就出错

本文详细解析华为交换机密码策略配置的关键要点,包括密码长度、复杂度及等保合规要求。通过实战案例揭示常见配置误区,如明文/密文密码格式差异、复杂度检查联动机制等,帮助网络工程师避免安全漏洞。特别针对等保二级和三级要求,提供可直接落地的安全加固方案。

weixin_30879169的博客 367

ThinkPHP+Layui开发的ERP管理系统

ERP采购生产销售系统,一款基于ThinkPHP+Layui开发的ERP管理系统,帮助中小企业实现ERP管理规范化,此系统能为你解决五大方面的经营问题:1.采购管理 2.销售管理 3.仓库管理 4.资金管理 5.生产管理,适用于:服装鞋帽、化妆品、机械机电、家具装潢、建材行业、快销品、母婴用品、办公用品、汽配汽修、生鲜农贸、手机通讯、数码家电、医药用品、制造业、信息技术服务行业等。提供全部无加密服务端和前端源代码,独立部署,不受限制。

u011092458的博客 788

关于AD域账户中pwdLastSet的数值问题。

从AD中直接取出来是__ComObject类型,其实他是long类型,直接转换也不好使,必须使用下面演示的方法转换,转换好了再从这个long转换成DateTime类型。 下面的代码有Silmoon这个程序集,大家可以去http://code.google.com/p/silmoon-dotnet-library/checkout出来,引用Silmoon.dll。 这个...

weixin_33693070的博客 1018

论文分享 - OctoMap八叉树建图原理

论文:OctoMap:An Efficient Probabilistic 3D Mapping Framework Based on Octrees。

一只废佐_的博客 2537

java 修改ad密码_JAVA修改AD域密码_免证书认证

更改用户账户密码,必须要使用ssl方式登录到AD。网上大部分教程使用TrustStore的方式连接,Hashtable env = newHashtable();System.setProperty("javax.net.ssl.trustStore", KEYSTORE);System.setProperty("javax.net.ssl.trustStorePassword", KEYSTOR...

weixin_32867357的博客 929

零基础实战:云开发家政维修小程序搭建指南

欢迎来到这本关于构建家政维修小程序的电子书!在当今数字化的浪潮中,线上服务已成为我们生活中不可或缺的一部分。从点餐购物到居家维修,人们越来越习惯通过指尖轻点来解决各种需求。正是基于这样的背景,我们希望通过这个系列,手把手地带领大家从零开始,搭建一个功能完备、体验流畅的家政维修平台。这不仅仅是一本技术教程,更是一次将想法变为现实的探索之旅。我们将深入浅出地讲解如何运用云开发等现代技术,实现从用户下单、支付,到客服派单、工人接单,再到订单完成和权限管理等一系列核心业务流程。

低代码布道师的博客 3425

SAM3 几行代码支持任意图像分辨率,减少显存占用(针对transformers库)

几行代码让sam3支持任意图像分辨率

qq_41234663的博客 156

java 时间戳转换

public static String getDate(String unixDate) { String date = ""; try { date = new java.text.SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(new java.util.Date(Long.val...

weixin_34367845的博客 105

最新腾讯手游游戏appid列表及urlScheme一览 urlscheme查询

[全网独家] 2024最新腾讯游戏appid列表及urlScheme一览 手游包含王者荣耀QQ飞车我的世界PUBG吃鸡和平精英金铲铲之战三角洲行动QQ炫舞拳皇98OL欢乐斗地主 元梦之星使命召唤等

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 2万+

java中时间的基本使用即转换

java获取取得Timestamp类型的当前系统时间 java获取取得Timestamp类型的当前系统时间 格式:2010-11-04 16:19:42 方法1: Timestamp d = new Timestamp(System.currentTimeMillis()); 方法2: Date date = new Date(); Timestamp nousedate = n

红尘浪子的专栏 902

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

[转载] Java中日期格式转换

参考链接: Java中的类型转换和示例 Code: /** * 字符串转换为java.util.Date<br> * 支持格式为 yyyy.MM.dd G 'at' hh:mm:ss z 如 '2002-1-1 AD at 22:10:59 PSD'<br> * yy/MM/dd HH:mm:ss 如 '2002/1/1 17:55:00'<br> * yy/MM/dd HH:mm:ss pm 如 '2002/1/1...

ld909的博客 730

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

Unix时间与Win32 FileTime时间

Unix 时间 1970-01-01 00:00:00 与 Win32 FileTime 时间 1601-01-01 00:00:00 两者相差毫秒数为:11644473600000L Win32 FileTime 采用 100ns 为单位的,定义 100ns 与 1ms 的倍率为10000

中华的博客 858

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

AD Ldap pwdLastSet不能更新到指定日期

由于网上资料实在有限,没有找到官网文档。 用代码试了,可以修改为0 表示下次登录必须修改密码。 但是不能修改为具体的某一个日期。

天天的专栏 985

AD域学习并使用Java接入AD域验证

当然首先要说明是哪一棵树(dc,相当于MYSQL的DB),然后是从树根到那个苹果所经过的所有“分叉”(ou),最后就是这个苹果的名字(uid,相当于MySQL表主键id)。域中包含着大量的域对象,如:组织单位(Organizational Unit),组(Group),用户(User),计算机(Computer),联系人(Contact),打印机,安全策略等。AD中域用户是最小的管理单位,域用户最容易管理又最难管理,如果赋予域用户的权限过大,将带来安全隐患,如果权限过小域用户无法正常工作。

weixin_44762522的博客 6393

AD转换时间

STM32 ADC的总转换时间为: TCONV = 采样时间 + 12.5个ADC周期。TCONV = 1.5 + 12.5 = 14个ADC周期 = 1μs。例如:当ADCCLK=14MHz,采样时间为1.5个ADC周期。AD转换的步骤:采样-保持,量化-编码。ADCCLK 最大频率为14Mhz。

huangmindong的专栏 1134

MySQL数据表中的数据单表查询

SELECT语句 使用SELECT语句进行对数据表查询;语法格式为: SELECT [ALL | DISTINCT] * | 列名1 [,列名2,…,列名N] FROM 表名 [ WHERE 条件表达式] [GROPUP BY 列名 [ASC | DESC] [HAVING 条件表达式] ] [ORDER BY 列名 [ASC | DESC] , … ] [LIMIT [OFFSET] 记录数]; 语法说明如下: SELECT 子句:表示从表中查询指定的列,当使用 ‘*’时u,用于显示表中所有的列;关键字

weixin_46516921的博客 2528

go ldap ad域 Windows NT时间与Unix时间转换

go ldap ad域 Windows NT时间与Unix时间转换golang原生time包的Duration时间段Window NT 时间转换为 Unix 时间Unix 时间转换为 Window NT 时间 AD域来自windows,其设计了Window NT时间(表示从1602年1月1日UTC时间开始的100纳秒数) 因为要将AD域用户的accountExpires账户过期时间进行修改来控制该用户自动过期的机制,所以要将Window NT与Unix时间进行互相转换。 首先,我们在读取并解析用ldap协议

本博客暂停使用 1361

FILETIME 与time_t

FILETIME 与 Time_t Unix 时间 1970-01-01 00:00:00 与 Win32 FileTime 时间 1601-01-01 00:00:00 两者相差毫秒数为:11644473600000L FILETIME To Time_t void FileTimeToTime_t( FILETIME ft, time_t *t ) { LONGLONG ...

zzl_python的博客 3416

pwdLastSet AD

如果pwdLastSet设置为null,那么下此用户登录的时候必须修改密码。 转载于:https://www.cnblogs.com/qiumc/p/7007497.html

weixin_30945039的博客 1107

Java中获取时间以及java.util和java.sql之间时间日期的转换

目录 一、获取时间和日期 通过java.util从系统获取当前时间 通过java.sql类型数据获取时间 将字符串转换成java.util.Date类型数据 将毫秒数转换成java.util.Date类型数据 二、数据库中存储日期的三种数据类型 三、数据库中三种数据对应Java中获取数据的存储结果 数据库数据类型为date 数据库数据类型为datatime 数据库数据类型为ti...

chen_i 1万+

时间戳和本地时间间转换

时间戳转化本本地时间 系统标准时间转化为本地时间 let initial = 'Fri Jan 10 2020 18:52:45 GMT+0800 (中国标准时间)' //中国标准时间 //定义一个时间转换函数 conversionTime :function(time){ //转化为系统时间 let date1 = new Date(time); //系统时间转化成时间戳 let date2 = date1.getTime();

zhcinit0的博客 1080

java ad域修改密码_JAVA修改AD域密码_免证书认证

更改用户账户密码,必须要使用ssl方式登录到AD。网上大部分教程使用TrustStore的方式连接,Hashtable env = newHashtable();System.setProperty("javax.net.ssl.trustStore", KEYSTORE);System.setProperty("javax.net.ssl.trustStorePassword", KEYSTOR...

weixin_29123181的博客 970
上一篇: 如何让redirect隐藏rul参数
下一篇: java操作ad,创建用户设置 “用户下次登录时须更改密码”
天天
博客等级 码龄21年 219粉丝 146原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天天

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值