我正在尝试通过 powershell 将文件从 DMZ 服务器移动到域服务器,我可以通过交互式会话使其工作,但是如果我尝试在计划任务下运行它,则复制会失败。我添加了 transcript start 命令来尝试查看可能发生的情况,但我不知道如何对其进行故障排除。您不允许在计划任务中运行 PSDrive 吗?
Start-Transcript -path C:\temp\pslog.txt -append -NoClobber -IncludeInvocationHeader
$password = convertto-securestring -String 'somepassword' -AsPlainText -Force
#$pass = Get-Content C:\ITScripts\password.txt | ConvertTo-SecureString
$cred = new-object -typename System.Management.Automation.PSCredential('username@domain', $password)
#$cred = new-object -typename System.Management.Automation.PSCredential -argumentlist "username@domain",$pass
New-PSDrive -Name Z -PSProvider filesystem -Root "\\DOMAINSERVER\FOLDERNAME" -Credential $creds
Get-ChildItem "LOCALPATH" -Filter *.txt | Move-Item -Destination "Z:\Inbound" -Force -PassThru
Remove-PSDrive Z
Stop-Transcript
因此,如果我从桌面或 powershell 会话运行它,它可以正常工作,当我从计划任务运行它时,我会得到以下输出。
记录已开始,输出文件为 C:\temp\pslog.txt
New-PSDrive:指定的驱动器根目录“\DOMAINSERVER\FOLDERNAME”不存在,或者不是文件夹。位于 C:\ITScripts\CopyFilesBetweenServer.ps1:11 char:1
- New-PSDrive-名称 Z-PSProvider 文件系统-Root“\DOMAINSERVER\FOLDERNAME ...
-
+ CategoryInfo : ReadError: (Z:PSDriveInfo) [New-PSDrive], IOException + FullyQualifiedErrorId : DriveRootError,Microsoft.PowerShell.Commands.NewPSDriveCommand
New-PSDrive:指定的驱动器根目录“\DOMAINSERVER\FOLDERNAME”不存在,或者不是文件夹。位于 C:\ITScripts\CopyFilesBetweenServer.ps1:11 char:1
- New-PSDrive-名称 Z-PSProvider 文件系统-Root“\DOMAINSERVER\FOLDERNAME ...
-
+ CategoryInfo : ReadError: (Z:PSDriveInfo) [New-PSDrive], IOException + FullyQualifiedErrorId : DriveRootError,Microsoft.PowerShell.Commands.NewPSDriveCommand
Remove-PSDrive:找不到驱动器。名称为“Z”的驱动器不存在。位于 C:\ITScripts\CopyFilesBetweenServer.ps1:14 char:1
- 删除-PSDrive Z
-
+ CategoryInfo : ObjectNotFound: (Z:String) [Remove-PSDrive], DriveNotFoundException + FullyQualifiedErrorId : DriveNotFound,Microsoft.PowerShell.Commands.RemovePSDriveCommand
Remove-PSDrive:找不到驱动器。名称为“Z”的驱动器不存在。位于 C:\ITScripts\CopyFilesBetweenServer.ps1:14 char:1
- 删除-PSDrive Z
-
+ CategoryInfo : ObjectNotFound: (Z:String) [Remove-PSDrive], DriveNotFoundException + FullyQualifiedErrorId : DriveNotFound,Microsoft.PowerShell.Commands.RemovePSDriveCommand
感谢您的任何帮助,您可以提供。