Windows起動時(ログオンなし)でスクリプトを実行するには、srvany.exeを使用してWindowsサービスを作成することができます。 手順:
- (SRVANY.EXEが含まれています)は、Windows 2003リソースキット
- は、SCを使用してサービスを作成し、
sc create PSService binPath= "C:\Program Files\Windows Resource Kits\Tools\srvany.exe" DisplayName= "PSService"
をSRVANY.EXEリソースキット
をインストールしなさいサービスのパラメータ設定
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\PSService]
"Type"=dword:00000010
"Start"=dword:00000003
"ErrorControl"=dword:00000001
"DisplayName"="PSService"
"ObjectName"="LocalSystem"
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\PSService\Parameters]
"Application"="C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe -noExit -ExecutionPolicy RemoteSigned -File C:\\PSService\\psservice.ps1"
いくつかの発言:
- のSrvany.exeは、Windows Vistaおよびアップでは使用できません。
- (セキュリティ上の理由から)
- (セキュリティ上の理由から)管理者だけが書き込みアクセス権を持つディレクトリにスクリプトを保存したい場合がありますが、
ご返信ありがとうございます。しかし、これは私の問題を解決しません。現在監視は開いているPSウィンドウで実行されています。$ watcher = New-Object System.IO.FileSystemWatcher $ watcher.Path = $ searchPath $ watcher.EnableRaisingEvents = $ true $ changed = Register-ObjectEvent $ watcher "Changed" - 動作{....} 'あなたの決定はPSコードを実行するだけで、FSを監視しません。 –
@Miskoスクリプトを実行した後にPowerShellプロセスが終了するのを避けるため、PowerShellを起動するときに-noExitスイッチを追加する必要があります。私は私の答えで.regファイルを変更しました。 –
あなたに大きな感謝、それはまさに私が必要なものです! –