【发布时间】:2017-11-30 14:55:23
【问题描述】:
我阅读了有关 Powershell 和计划任务的所有信息。 尝试了所有可能的解决方案。
不幸的是,一旦从 Windows 任务调度程序调用,我就无法使 PS 脚本显然正确运行。显然我没有足够的知识单独处理这个问题。
如果从运行 VirtualBox 的服务器 (Win 2012) 手动启动,该脚本可以正常工作。没有 A.D 只是在这里运行 Virtual Box,最终用作公共共享(一个唯一用户:Administrateur)
- PS 脚本停止在同一台服务器上运行的 Virtual Box VM,将整个文件夹复制到 USB 外部驱动器 E:(大约 90 分钟),然后重新启动 VM,然后再次将复制到外部 HD 的副本复制到另一个网络上的机器服务器 2012 (Z:)。
一些线索: 我只是无法理解某些测试不会返回相同的结果。 例如:
$IsDestPath2 = test-Path $destination_srv2_root
write-host "IsDestPath2: $IsDestPath2"
Write-Output "$full_dateh - IsDestPath2: $IsDestPath2" | out-File "C:\Program Files\Oracle\VirtualBox\TEST_log.txt"
是让我看到一些价值演变的痕迹。 手动运行脚本时,测试路径始终为 true(正常) $destination_srv2_root is = "z:\VMbackup", Z: 是之前对第二台服务器的净使用结果。 但是从调度程序运行时变成 false ..!?
并且正确写入了相同文件夹 txt 日志文件的输出文件,但外部 HD(e:...)的相同输出文件根本不起作用(未创建文件)。 就像 PS 脚本存在并启动的 VirtualBox 文件夹之外什么都没有。但是没有控制台,没有错误,什么都没有..
尝试使用各种风格的论据 最后一次尝试:
%SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe -executionpolicy unrestricted -noexit & .\testPS.ps1
感谢您的帮助。
编辑: 这是代码的一部分..
date_heure
Write-Host $txt_heure
Write-Host $txt_date
Write-host $full_dateh
#$source = "C:\TestSourceBack"
$source = "C:\VirtualBox VMs"
#destination vise le disque externe amovible
$destination_root = "E:\VMbackup"
$destination = "E:\VMbackup\$thedate"
#destination2 vise le serveur de secours
$destination_srv2_map = "\\192.168.1.94\public"
# Z: pointe directement sur public !!
$destination_srv2_root = "z:\VMbackup"
$destination_srv2 = "$destination_srv2_root\$thedate"
# -------------------------------------------------------------------
Write-Output "====================== DEBUT SAUVEGARDE ==========================" | out-File "$destination_root\backupVM_log.txt" -Append
Write-Output "$full_dateh" | out-File "$destination_root\backupVM_log.txt" -Append
Write-Output "========================================================================" | out-File "$destination_root\backupVM_log.txt" -Append
【问题讨论】:
标签: windows powershell scheduled-tasks