我在这里遇到了一个奇怪的问题。 我有一个Windows服务器设置,允许通过Cygwin访问SSH。 这背后的想法是允许我从我的一个Linux盒子远程执行Powershell命令。现在,为了保证安全,同时仍允许自动化,我将典型的ssh-copy-id添加到我指定的帐户上。然后我尝试通过SSH密钥登录...成功!现在这里是奇怪的部分。我运行我的Powershell命令:
powershell 'C:/cygwin64/scripts/add_email_address_to_distribution_list.ps1'
并收到以下错误消息:
$ powershell 'C:/cygwin64/scripts/add_email_address_to_distribution_list.ps1' Add-DistributionGroupMember:值不能为null。参数名称: serverSettings At C:\ cygwin64 \脚本\ add_email_address_to_distribution_list.ps1:2 焦炭:28 + Add-DistributionGroupMember<<<< -Identity some_distribution_list - 会员 user @ domain.com + CategoryInfo:未指定:(:) [Add-DistributionGroupMember], ArgumentNullException + FullyQualifiedErrorId:System.ArgumentNullException,Microsoft.Exchange。
Management.RecipientTasks.AddDistributionGroupMember
现在,如果我从帐户的.authorized_keys文件中删除pubkey,请使用我的常用密码登录,然后重试...脚本有效!
我很难过为什么通过SSH通过密码进行身份验证可以让脚本成功运行,而通过SSH通过密钥进行身份验证则不然。
有什么想法吗?
修改
这是正在运行的脚本:
Add-PSSnapin Microsoft.Exchange.Management.PowerShell.E2010
Add-DistributionGroupMember -Identity some_distribution_list -Member user@domain.com