Art*_*dez 14 powershell powershell-2.0
这很疯狂,我开始使用PowerShell.当然,我需要远程管理员工作.
一个简单的
dir \\server\share\folder
Run Code Online (Sandbox Code Playgroud)
只是拒绝工作,我得到这个错误
Get-ChildItem : Cannot find path '\\server\share\folder' because it does not exist.
+ CategoryInfo : ObjectNotFound: (\\server\share\folder:String) [Get-ChildItem], ItemNotFoundException
+ FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetChildItemCommand
Run Code Online (Sandbox Code Playgroud)
对我来说很明显这是一个访问权限问题.我们公司在这里有一个域名.我在VNC上使用完全相同的用户帐户登录到服务器,我可以看到UNC路径.但每当我尝试使用远程连接从桌面复制文件时.它只是不会工作!!!!
我可以做很多其他的事情,所以我很肯定我有联系.
Aar*_*sen 15
要使其工作,您必须配置本地和远程计算机.
在远程服务器上,运行以下命令:
Enable-WSManCredSSP -Role server
Run Code Online (Sandbox Code Playgroud)
如果运行Get-WSManCredSSPcmdlet并获得以下输出,您将知道正确配置的内容:
计算机未配置为允许委派新凭据.此计算机配置为从远程客户端计算机接收凭据.
在本地计算机上,从管理PowerShell提示符,您需要在PowerShell中允许凭据委派.运行以下命令:
Enable-WSManCredSSP -Role Client -DelegateComputer <REMOTE_COMPUTER_NAME>
Run Code Online (Sandbox Code Playgroud)
您可以使用*for启用所有服务器REMOTE_COMPUTER_NAME.
运行Get-WSManCredSSP并获得以下输出时,您将知道这已正确配置:
计算机配置为允许将新凭据委派给以下目标:wsman/REMOTE_SERVER_NAME
此计算机未配置为从远程客户端计算机接收凭据.
在本地计算机上,更新组策略以允许将凭据委派给远程服务器.
然后,当您需要在远程服务器上运行命令时,您不能使用任何*-PSSession命令,因为CredSSP无法使用缓存凭据.您必须使用启动会话Invoke-Command,并使用CredSSP作为Authentication参数的值,如下所示:
Invoke-Command -ScriptBlock { # remote commands here } `
-ComputerName <REMOTE_COMPUTER_NAME> `
-Authentication CredSSP `
-Credential <USERNAME>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15824 次 |
| 最近记录: |