Score:0

การดำเนินการสคริปต์ PowerShell ด้วยช่องว่างในอาร์กิวเมนต์ผ่าน Task Scheduler บน Windows Server 2012

ธง br

ฉันกำลังพยายามสร้างงานที่กำหนดเวลาไว้บน Windows Server 2012 ซึ่งจะเรียกใช้สคริปต์ PowerShell ที่จะสร้างไฟล์เก็บถาวรของไดเร็กทอรีที่ระบุวันละครั้ง

อาร์กิวเมนต์ในการดำเนินการสคริปต์ควรเป็นดังนี้ (ผ่านบรรทัดคำสั่ง): .\CreateBackup.ps1 -BackupTarget "D:\SOFT_DIST\Production\_New_Build\Documentation\Windows Build Documentation\" -BackupDestination "D:\SOFT_DIST\Production\_New_Build\Documentation\Build Documentation Backups\Backups\" -DeleteOutdatedFiles $true - FileTTLวันที่ 30

สคริปต์ทำงานได้ดีอย่างสมบูรณ์ แต่ปัญหาคือเมื่อฉันป้อนอาร์กิวเมนต์ลงใน Task Scheduler ฉันได้รับข้อผิดพลาดที่ระบุว่า "D:\SOFT_DIST\Production_New_Build\Documentation\Build is not modified as the name of a cmdlet, function, script file, หรือโปรแกรมที่ใช้งานได้" . โปรดทราบว่าในความเป็นจริง ไดเร็กทอรีนั้นถูกต้อง

ใน Task Scheduler นี่คือสิ่งที่ฉันป้อนภายใต้การดำเนินการ (ดึงจากไฟล์ส่งออก XML)

<Command>powershell.exe</Command>
  <Arguments>
    -ExecutionPolicy Bypass "D:\SOFT_DIST\Production\_New_Build\Documentation\Build Documentation Backups\CreateBackup.ps1" 
    -BackupTarget 'D:\SOFT_DIST\Production\_New_Build\Documentation\Windows Build Documentation\'
    -BackupDestination 'D:\SOFT_DIST\Production\_New_Build\Documentation\Build Documentation Backups\Backups\' 
    -DeleteOutdatedFiles $true
    -FileTTLDays 30
  </Arguments>

จากสิ่งนี้ ฉันควรแก้ไขอย่างไรเพื่อให้สคริปต์นี้ทำงานผ่านงานที่กำหนดเวลาไว้ ฉันเชื่อว่าปัญหาอยู่ที่ช่องว่างในเส้นทางไดเร็กทอรี

br flag
[1] คุณได้ลองเพิ่มชุดคำพูดเดี่ยวชุดนอกแล้วหรือยัง? บางอย่างเช่น `'"d:\ThingOne\Phase With Embedded Spaces"'` โปรดทราบว่าเครื่องหมายอัญประกาศภายนอกเป็น singletons ดังนั้นจึงเป็น `single quote`, `double quote`, `string`, `double quote`, `single quote` ///// [2] คุณได้รับอนุญาตให้กำจัดช่องว่าง [ที่น่ารำคาญ] หรือไม่?
Daniel avatar
br flag
@Lee_Dailey น่าเสียดายที่ฉันไม่สามารถกำจัดพวกเขาได้ ฉันลองทำตามที่คุณแนะนำแล้ว แต่โชคไม่ดี: `powershell.exe -ExecutionPolicy Bypass '"D:\SOFT_DIST\Production\_New_Build\Documentation\Build Documentation Backups\CreateBackup.ps1"' -BackupTarget '"D:\SOFT_DIST\Production\ _New_Build\Documentation\Windows Build Documentation\"' -BackupDestination '"D:\SOFT_DIST\Production\_New_Build\Documentation\Build Documentation Backups\Backups\"' -DeleteOutdatedFiles $false -FileTTLDays 30`
br flag
หาเรื่อง! [*ขมวดคิ้ว*] คุณได้ลองใส่ `powershell.exe` ในช่องการกระทำที่ชื่อ `program/script` แล้วใส่บรรทัดอาร์กิวเมนต์ทั้งหมดลงในช่องการกระทำที่ชื่อ `add arguments` หรือไม่ คนมักจะใส่สิ่งทั้งหมดในช่อง `โปรแกรม/สคริปต์` ... และนั่นก็มีปัญหา

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา