1

ディレクトリ内の名前を取得してファイルに書き込む簡単なpowershellスクリプトがあります。これを毎日午前 8 時に実行したいので、Windows タスク スケジューラからタスクを作成しました。タスク スケジューラはスクリプトを開始できますが、スクリプトはファイルに書き込むことができません。別の方法として、バッチ ファイルを作成し、タスク スケジューラを使用して ps1 を呼び出そうとしましたが、"fileopenerror" というエラーが発生しました。バッチ ファイルには \PowerShell.exe \test.ps1 があります。

私の PowerShell スクリプトには Set-executionpolicy -scope currentuser -executionpolicy remotesigned -force ls >> names.txt があります

4

1 に答える 1

0

<#だから、これは私があなたのために持ってくると思った例です。これは毎日午前 3 時に BITS サービスを再起動します。Apache サービスの例でスクリプトを変更できると思います#>

<#ここではジョブのトリガーを作成し、毎日午前 3 時に開始するように設定しています#>

$trigger = New-JobTrigger -Daily -At 3am

<# 以下では、ScheduledJob を Name で登録し、$trigger のトリガーを毎日午前 3 時に設定しています。また、実行するスクリプトをスクリプト ブロック内に配置しています#>

Register-ScheduledJob -Name BitsServiceRestart -Trigger $trigger -ScriptBlock {

<# Suppose Lets say that you want to schedule a restart of BITS Service#>
Restart-Service -ServiceName BITS

}

<# ジョブが登録されると、Get-ScheduledJob を使用してジョブの詳細を取得できます。TaskScheduler --> Windows --> PowerShell を使用してタスクの詳細を表示することもできます #>

Get-ScheduledJob BitsServiceRestart | fl *

<# ジョブの受信を使用して、スケジュールされたジョブの出力を受信できます #>

Receive-Job -Name BitsServiceRestart
于 2012-10-31T17:31:31.203 に答える