Powershell 通过身份验证获取内容
我正在尝试从网络共享获取文件。我需要传递凭据以进行身份验证Powershell 通过身份验证获取内容,powershell,Powershell,我正在尝试从网络共享获取文件。我需要传递凭据以进行身份验证 #Define credentials #=========== $secpasswd = ConvertTo-SecureString “mypassword” -AsPlainText -Force $credentials = New-Object System.Management.Automation.PSCredential (“myuser”, $secpasswd) #Get the file #=========
#Define credentials
#===========
$secpasswd = ConvertTo-SecureString “mypassword” -AsPlainText -Force
$credentials = New-Object System.Management.Automation.PSCredential (“myuser”, $secpasswd)
#Get the file
#===========
$commandresult = Get-Content "\\$tsmhost\prtg_output\STGPOOLS.txt" -Credential $credentials -Force
然而,这导致了
获取内容:无法检索cmdlet的动态参数。这个
文件系统提供程序仅支持新PSDrive cmdlet上的凭据。
在不指定凭据的情况下再次执行该操作
当然,如果我没有指定凭据,我将获得拒绝访问的权限。
我相信可以通过将共享文件夹装载为网络驱动器来解决问题,但这似乎效率低下,而且由于脚本可能一次运行多次,我可能有重复的驱动器。
有什么最有效的方法来实现这一点吗?
谢谢 使用您的凭据使用
New PSDrive
创建一个PSDrive,然后使用Get Content
读取文件:
New-PSDrive -Name X -PSProvider FileSystem -Root \\$tsmhost\prtg_output -Credential $credentials
然后:
是的,确实,这是一个解决办法,但这不是很低效吗?此外,由于脚本可能一次运行多次,我可能有重复的驱动器。此外,您可以使用本机
net use
,这样,一旦您输入了有效的凭据,它就不会再次要求您使用相同的资源
Get-Content X:\STGPOOLS.txt