AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 913867
Accepted
Wildcard
Wildcard
Asked: 2018-05-26 16:00:40 +0800 CST2018-05-26 16:00:40 +0800 CST 2018-05-26 16:00:40 +0800 CST

如何在 adedit 中直接获取当前主机的专有名称(DN)?

  • 772

我知道如何从命令行获取 DN:

adquery user -D "$(hostname -s)"

但是,我想将 DN 放入 adedit 脚本中。如果可以select_object {DN here},那么我可以做我需要做的其他事情。

我只是不知道如何直接在adedit.


根据adquery手册页(Centrify Suite 的一部分):

提供 adquery 命令是为了向后兼容,使您能够从 Centrify 管理的计算机上的命令行查询 Active Directory 以获取有关用户和组的信息。您可以使用该命令查询经典或分层区域的信息。但是,在大多数情况下,您应该使用 adedit 命令或脚本来查询 Active Directory 以获取分层区域中的信息。

但是,我找不到关于如何将adquery命令转换为adedit.

例如:

adquery user `hostname -s` --dump

这给出了我正在运行命令的计算机的用户的所有原始属性和值的列表。使用该--attribute标志,我只能返回一个属性。

有了adedit,在我跑完之后select_object THE_DN,我可以通过运行得到“描述”等其他字段get_object_field description。但是,如何首先获得 DN?

我找到了adedit 程序员指南,但尽管进行了大量的挖掘和实验,但还是找不到我需要的东西。


在我得到更好的方法之前,我正在运行:

adedit myscript "$(adquery user -D "$(hostname -s)")"

然后在脚本中:

if { $argc != 1 } {
  puts "format: $argv0 hostDN"
  exit 1
}

set the_dn [lindex $argv 0]

bind ... (credentials here)

select_object $the_dn

(注意:adedit 是基于 Tcl 构建的,所以我已经标记了这个问题 Tcl 以及 Active Directory。我没有创建 Centrify 标签的声誉。)

linux
  • 1 1 个回答
  • 3235 Views

1 个回答

  • Voted
  1. Best Answer
    Ryan Bolger
    2018-05-26T19:58:39+08:002018-05-26T19:58:39+08:00

    目前我没有任何 Centrify 主机可供测试。但我猜你正在寻找的是get_adinfo hostand的组合get_objects。

    get_adinfo host将为您提供当前主机的信息或至少一个计算机名称(记忆模糊)。

    get_objects更多的是一个通用的 LDAP 查询命令,它采用典型的 LDAP 参数,如深度、基数 (DN) 和过滤器。

    因此,一旦您有了计算机名称,就可以使用get_objects类似这样的方式查询 DN。

    set results [get_objects -depth sub "DC=example,DC=com" "(&(objectClass=computer)(sAMAccountName=$hostname))"]
    set compDN [lindex $results 0]
    

    再次,完全未经测试。但我很确定这应该让你朝着正确的方向前进。

    • 1

相关问题

  • Linux 主机到主机迁移

  • 如何在 Linux 机器上找到有关硬件的详细信息?

  • 如何在 Linux 下监控每个进程的网络 I/O 使用情况?

  • 在 RHEL4 上修改 CUPS 中的现有打印机设置

  • 为本地网络中的名称解析添加自定义 dns 条目

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve