我有一个带有 WorkerRole 的 Azure 项目,我有一个 StartUp 任务。启动任务是一个简单的 .cmd 文件 (startup.cmd),它调用了一个 powershell 脚本 (PerformanceCounterInstaller.ps1)。看起来 .cmd 文件执行得很好,它可以找到 .ps1 文件(如果 .ps1 文件的路径或名称不正确,我会在 err.out 文件中看到它的提及)。但是,.ps1 文件的实际内容似乎完全被忽略了(写入输出命令、启动脚本、创建性能计数器,...)。我没有收到任何反馈或任何数据表明已执行任何尝试的操作。
我在 err.out 和 std.out 中拥有的唯一数据来自 .cmd 文件,我找不到任何脚本文件。
问候,马里奥。
相关文件的内容可以在下面找到。
------ServiceDefinition.csdef 的内容: ------
<?xml version="1.0" encoding="utf-8"?>
<ServiceDefinition name="WindowsAzure2" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition" schemaVersion="2012-10.1.8">
<WorkerRole name="MBAzureTestServiceWorkerRole" vmsize="Small">
<Startup>
<Task commandLine="StartupTasks\startuptasks.cmd" executionContext="elevated" taskType="simple" />
</Startup>
<Imports>
<Import moduleName="Diagnostics" />
</Imports>
</WorkerRole>
</ServiceDefinition>
------ startuptasks.cmd 的内容: ------
cd %~dp0
echo %date% %time% >>std.out
echo %date% %time% >>err.out
powershell -ExecutionPolicy Unrestricted './PerformanceCounterInstaller.ps1' >>std.out 2>> err.out
EXIT /B 0
------ PerformanceCounterInstaller.ps1 的内容: ------
$serviceName = "Test Service"
# Write-Output "This is a test of the broadcasting system..."
Start-Transcript -Path startup_transcript.txt
Stop-Transcript
[more stuff]