我想知道是否有人可以帮助解决我与Powershell之间的问题。我试图从Active Directory获取信息并将结果输出到csv文件。
复杂的问题是因为这里的安全性被严格锁定所以我必须在安装了AD模块的服务器上启动脚本,在此运行作业然后将结果输出到我们有代理的另一台服务器安装以获取生成的文件并将其传输。
这些脚本的基本步骤:
代码:
$MyDomain=’domain_name’
$MyClearTextUsername=’user_name’
$MyClearTextPassword=’user_passwd’
$MyUsernameDomain=$MyDomain+’\’+$MyClearTextUsername
$SecurePassword=Convertto-SecureString –String $MyClearTextPassword –AsPlainText –force
$MyCredentials=New-object System.Management.Automation.PSCredential
$MyUsernameDomain,$SecurePassword
$Session = New-PSSession -ComputerName remote_computer_with_ad_module_installed
Invoke-Command -Session $Session -ScriptBlock {Import-Module -Name 'ActiveDirectory'} #Imports Active Directory Module#
$Cred = Get-Credential Invoke-Command -Credential $Cred Invoke-Command -Session $Session -ScriptBlock {Get-ADUser -Filter * `
-SearchBase "OU=Users,OU=OU_some_address,DC=some_company,DC=co,DC=uk" `
-Properties Enabled, name, description, userprincipalname, mail, department, company, physicaldeliveryofficename, Title, Manager | `
Select-Object -Property Enabled, name, description, userprincipalname, mail, department, company, physicaldeliveryofficename, Title, @{label='Manager';expression={$_.manager -replace '^CN=|,.*$'}} `
| Export-CSV "\\different_remote_computer\AD_Export\AD_Users.csv"}
Remove-PSSession $Session #Removes remote PS Session#
根据错误消息判断我认为我遇到的问题是尝试传递我在开头设置的凭据 进入脚本的Export-CSV方面,因为我收到以下错误消息:
访问路径' \\ different_remote_computer \ AD_Export \ AD_Users.csv'被拒绝。 + CategoryInfo:OpenError:(:) [Export-Csv],UnauthorizedAccessException
我已经广泛搜索了这个&尝试了多种不同的方法来尝试第二次传递这些凭据,但似乎无法破解它。