【发布时间】:2021-08-17 04:41:31
【问题描述】:
我的部门有一个 Windows Server 虚拟机,用于托管我们的一些 Web 应用程序。我们希望其中一个 Web 应用程序能够根据他的 NT-USER 自动获取用户部门。为此,我们设想如下路径:
- 用户进入网站。他的 NT-User 被自动占用 通过 IIS Window 身份验证;
- We Powershell(使用 Active Directory API) 使用 NT-User 作为参数;
- 我们终于得到 用户名和部门。
这个 API 在我的个人电脑上运行良好,但在服务器上不行。我正在执行这样的 Powershell 脚本:
$helpstring = find-user 'fie7ca' | select displayname, name, st, l, distinguishedname
$helpstring;
在我的个人电脑中:
效果很好。
但随后(在服务器中),我收到以下错误:
Exception calling "FindOne" with "0" argument(s): "The user name or password is incorrect.
"
At C:\Users\RBAdmin_App2\Documents\WindowsPowerShell\Modules\BC-Tools\User-Functions.psm1:496 char:11
+ $user = $searcher.FindOne()
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : DirectoryServicesCOMException
我想我需要一个 Active Directory 功能,使用 LDAP 或我不知道的东西。
【问题讨论】:
-
您要搜索的是同一用户吗?
-
从服务器运行时,您是否以域用户身份登录?
-
<NT-User>,是本地用户。如果您为域/服务器用户使用相同的名称,您可能需要对远程用户名执行类似<ServerName>\<NT-User><DomainName>\<NT-User>或.\<NT-User>的操作。 -
什么是
Find-User? -
除非你展示它,否则你不能指望我们找到你从某个模块使用的某些功能的问题。
标签: powershell active-directory windows-server