【发布时间】:2016-03-12 04:37:38
【问题描述】:
我正在测试虚拟机上使用受限端点并执行以下操作:
- 已创建 TestUser 本地帐户(仅属于用户组)
-
运行以下内容:
New-PSSessionConfigurationFile -Path c:\test.pssc -ModulesToImport smbshare -PowershellVersion 3.0 -VisibleFunctions 'get-smbshare' -SessionType RestrictedRemoteServer -
注册端点使用:
Register-PSSessionConfiguration -Path c:\test.pssc -Name test -ShowSecurityDescriptorUI -AccessMode remote -RunasCredential Administrator -
尝试使用以下方式连接到它:
Enter-PSSession -ComputerName localhost -ConfigurationName test -Credential TestUser
我经历了一切,直到连接尝试为止。它说访问被拒绝。 PS shell 以管理员身份运行。根据 remote_troubleshooting 文档,我已授予 TestUser 对端点的读取和执行权限。如果我在没有凭据参数的情况下运行命令或传入管理员用户名,它连接正常......我在这里错过了什么?
【问题讨论】:
-
您能否检查您的问题是否有错别字,例如
Register-PSSessionConfiguration - patch c:\test.pssc;看起来应该是-Path。它确实有助于防止混淆或猜测。 -
在您显示使用
-Credential或-RunAsCredential的示例中,用户名只是一个字符串。我希望您提供一个 PSCredential 对象(即作为变量,通过$cred = Get-Credential获得)。如果您希望(仅)将用户名作为字符串提供,也许这就是它不起作用的原因;当您不指定该开关时,它只会获取当前用户的凭据。 -
啊谢谢。我明天会测试一下并报告。至于您的第一条评论,是的,我使用的是-Path
-
@CharlieJoynt 所以我通过创建两个变量 $admincred 和 $usercred 来测试您的建议,这两个变量都设置为 get-credential。在建立连接的命令中,我传入了这些对象,现在我得到一个奇怪的错误......“无法执行操作,因为操作“SetLocation”无效。删除操作“SetLocation”,或调查为什么它无效“ ..google 到目前为止还没有被证明是有用的。不知道你以前是否遇到过这种情况。
标签: powershell powershell-remoting