3个版本

0.1.2 2024年7月1日
0.1.1 2024年6月30日
0.1.0 2024年6月30日

#232 in Windows API

Download history 371/week @ 2024-06-28 66/week @ 2024-07-05

85 每月下载

MIT 许可证

36KB
524 代码行

laps-rs

本crate仅适用于Windows!

用于检索LAPS密码的库

主要包括两个结构体 AdConnectionAdConnectionAsync,它们包含Active Directory的连接并实现 try_search()

用法

Cargo.toml

[dependencies.laps_rs]
version = "0.1.0"

示例

两个示例都执行了 "computername" 的搜索

use laps_rs::{AdSettings, AdConnection, LdapProtocol, Scope};

let settings = AdSettings::new(
   "dc.test.internal",
   636,
   LdapProtocol::Secure,
   "OU=path,OU=to,OU=computers,DC=test,DC=internal",
   Scope::Subtree,
);
let mut con: AdConnection = settings.connect()?;
let password = con.try_search("computername", &settings)?;
println!("{password:?}");

另请参阅 [AdConnection::try_search()]

use laps_rs::{AdSettings, AdConnectionAsync, LdapProtocol, Scope};

let settings = AdSettings::new(
   "dc.test.internal",
   636,
   LdapProtocol::Secure,
   "OU=path,OU=to,OU=computers,DC=test,DC=internal",
   Scope::Subtree,
);
let mut con: AdConnectionAsync = settings
   .connect_async()
   .await?;
let password = con
   .try_search("computername", &settings)
   .await?;
println!("{password:?}");

另请参阅 [AdConnectionAsync::try_search()]

特例

由于可能存在同一计算机的加密和不加密的LAPS数据,[process_ldap_search_result()] 将优先返回密码过期相同的加密信息。

在其他任何情况下,将返回有效期较长的密码。

当前版本

0.1.2

依赖关系

~19–50MB
~798K SLoC