关于new-module中添加其他module引用的问题


PowerShell交流中心关于new-module中添加其他module引用的问题
0
sy790825 asked 8 年 ago

因为经常需要使用ad的activedirectory模块中的get-adsuer命令,但感觉该命令的功能比较弱,因此想自己创建一个新的module实现自己的需求,同时也希望该module能够被其他机器远程所调用。

现在的问题是

在本机环境下新建的module 加载后,运行函数会自动调用本机环境下的activedirectory模块,执行get-aduser查询都是正常的

但如果从其他机器上 远程隐性调用这个新建module 的时候 ,调用module成功,但函数无法执行get-aduser 的查询命令

我也试图通过New-ModuleManifest  的参数reuiremodule 添加对activedirectory模块的引用,但不知是否格式不对,一旦增加此参数后,模块就无法正常加载。

希望有好的建议 或其他的实现方式,谢谢

 

 

1 Answers
0
Best Answer
Mooser Lee 管理员 answered 8 年 ago

这个应当是权限代理的问题:

  • 在机器A上访问AD,用的是A的权限,没有问题。
  • 在机器B上远程A来访问AD,用的是连接到A的权限,但是默认这个权限是不能被委托去访问AD。

我举个例子:比如我在自己机器上可以访问公司的共享文件夹,但是当我远程到自己(包括自己远程自己)时,却访问不到了。

PS> dir \\cn1\pstips.net


Directory: \\cn1\pstips.net


Mode LastWriteTime Length Name
---- ------------- ------ ----
d----l 2014/2/13 18:53 Citrix
d----l 2014/2/13 18:53 Home
d----l 2014/2/13 18:53 工具区
d----l 2014/2/13 18:53 pstips.net共享文件


PS> Enter-PSSession .
[localhost]: PS D:\Users\bzli\Documents> dir \\cn1\pstips.net
dir : 拒绝访问。
+ CategoryInfo : PermissionDenied: (\\cn1\pstips.net:String) [Get-ChildItem], UnauthorizedAccessException
+ FullyQualifiedErrorId : ItemExistsUnauthorizedAccessError,Microsoft.PowerShell.Commands.GetChildItemCommand

dir : Cannot find path '\\cn1\pstips.net' because it does not exist.
+ CategoryInfo : ObjectNotFound: (\\cn1\pstips.net:String) [Get-ChildItem], ItemNotFoundException
+ FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetChildItemCommand

如何破解呢?
可以参考:使用Credssp认证处理多跳授权