我有一个Windows Server 2003的盒子,它使用psftp连接到远程Linux机器,并每小时下载文件。 这台机器有两个主要的挑战: 第一 计划任务目前设置为在此框中以用户身份运行,我相信这需要将用户密码存储在任务计划程序中。 但是,当用户的密码更改时,任务无法运行。 我想不pipe这个任务总是运行。 我相信第一个问题的解决scheme是将计划任务作为SYSTEM运行。 那是对的吗? 如果是这样,我该如何设置? 只需在“运行方式”框中键入SYSTEM ? 我是否需要为SYSTEM设置一个密码,因为我相信我没有使用密码尝试过,并且表示由于密码不正确而导致作业无法运行。 也许我做错了。 第二 Putty要求服务器的远程密钥存储在registry中以validation服务器的真实性。 但是,这似乎是存储在每个用户的基础上,所以如果我切换脚本作为不同的用户运行,似乎用户必须首次交互运行脚本,以便密钥存储在registry中。 在腻子网站上的说明提到,键应该被添加到以下registry位置: HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\SshHostKeys 但从“HKEY_CURRENT_USER”来看,我不认为这将是SYSTEM用户。 如果我将此任务设置为以SYSTEM身份运行,那么如何确保将适当的密钥存储在主机的registry中? 我不介意手动添加它(有一个perl脚本来转换known_hosts文件),但它应该去哪里? ps: myscript.bat只是使用psftp.exe从远程服务器上拉取文件。 没什么特别的。 有没有标志可以跳过检查授权的主机,腻子的人提到,这将是一个坏主意无论如何。
每当Windows Server 2008 R2要求我更改pipe理员密码时,所有与备份相关的计划任务都停止工作,有什么办法可以避免这种情况? 备份是一个严重的事情,必须永远工作。 我们在一个company.local域中有3个服务器机器,每个机器都有其计划的Windows服务器备份。
我是一名程序员,正在devise一个解决我们遇到的问题的scheme。 我正在考虑编写一个应用程序,并使用Windows计划任务每天运行一次,而不是写一个大多数时间睡觉的服务,每天醒来一次来做这件事。 但我的问题是pipe理员通常使用Windows计划任务? 应用程序将删除我们生成的旧文件,无法以其他方式清理(出于正当理由)。
我有一个简单的PowerShell脚本,可以从控制台(PSVersion 2.0)正常运行。 $psftpPath = "C:\Program Files (x86)\PuTTY\psftp.exe" $sftpHost = "foo.baa.com" $userName = "myusername" $userPassword = "mypassword" $todate = Get-Date -format yyMMdd; $fromdate = (get-date).AddDays(-7).ToString("yyyMMdd") $filename = "RawData_Extract_$($fromdate)_$($todate).zip" $cmd = @("lcd D:\Healthstream", "get $($filename)", "bye") $cmd | & $psftpPath -pw $userPassword "$userName@$sftpHost" 我想把它安排为一个SQL Server Scheduled Job。 当我将作业的“types”设置为PowerShell时,它会在$ cmd行(或行)(第9行)上出现语法错误。 任何人都可以帮助我了解我在做什么错?
我有一个任务,运行良好时启动与调度程序中的“右键单击/运行”,但由于错误的login,而在指定的时间自动运行一个奇怪的“SQL Serverlogin失败”失败。 loginSQL Server是内部SQL Server帐户,不是“可信连接”Windows帐户。 我知道login(和其他所有参数)是好的。 另外,我还有一些其他的任务在同一台服务器上运行,运行良好。 这是唯一的例外。 任务中没有需要打开的会话。 就像我以前说过的,我不知道为什么它可以通过调度程序中的“运行”命令启动它,但不是在指定的时间。 当然,我确定我的数据库服务器始终可用。 有人知道是否通过“右键单击/运行”启动任务和等待它自动启动之间存在显着差异? 由于我没有这种行为与其他任务,我很确定这是一个计划程序中的错误,但我什至不能猜到这里发生了什么。
我正在使用Windows的任务scheluder触发任务,当一个特定的USB设备插入到计算机,问题是任务也触发了USB删除。 我使用自定义XML触发器来跟踪Windows审核日志,以便读取特定的registry项 HKEY_LOCAL_MACHINE \ SYSTEM \ ControlSet001 \枚举\ USBSTOR \ 这发生在USB插入,不幸的是在USB移除。 当比较插入和删除事件之间的差异时,只有差异是“TimeCreated SystemTime”“EventRecordID”和“HandleId”,但我不能依靠那些,因为他们将永远不会是相同的。 我想知道是否有更好的解决scheme可以使用Windows的任务调度程序,最好是没有任何额外的后台服务,但是如果你有一个涉及后台服务的想法,我们正在一个开放的平台上,请分享,未来的serverfault用户爬行解决scheme可能会有用。
我想运行一个batch file,当一些特定的事件发生,我想传递一些null参数到我的任务之一。 问题是我不知道如何。 我尝试了很多组合,但没有成功。 我的XML文件看起来像这样: …….. <ValueQueries> <Valuename="TargetUserName">Event/EventData/Data[@Name='TargetUserName']</Value> <Value name="EventID">Event/System/EventID</Value> </ValueQueries> …… <Exec> <Command>C:\passwd.bat</Command> <Arguments>$(TargetUserName) $(SubjectUserName) $(EventID) </Arguments> </Exec> 现在,我想为我的一个事件传递一个空的参数[$(TargetUserName)和$(EventID)]之间,但我还没有设法做到这一点。 有什么build议么 ?
之前我们在AWS实例中禁用了以下任务,以防止负载均衡器在尝试运行这些任务时将其杀死。 TIWORKER.exe是我们的2012R2服务器的大型colpurt。 看了2016年开箱即用的实例的TaskScheduler部分之后,2012年没有类似的任务。我应该担心吗? 我是否需要禁用它了? 谢谢。 下面是我们禁用的东西 schtasks /Change /tn "\Microsoft\Windows\TaskScheduler\Idle Maintenance" /Disable schtasks /Change /tn "\Microsoft\Windows\TaskScheduler\Maintenance Configurator" /Disable schtasks /Change /tn "\Microsoft\Windows\TaskScheduler\Manual Maintenance" /Disable schtasks /Change /tn "\Microsoft\Windows\TaskScheduler\Regular Maintenance" /Disable #Adds a registry key to prevent Windows Maintenance tasks from running. Write-Host "Adding registry key to prevent Windows Maintenance tasks from running." New-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows […]
我在批处理窗口脚本中使用这行自动创build计划任务: schtasks /Create /RU SYSTEM /RP SYSTEM /TN startup-task-%%i /TR %SPEEDWAY_DIR%\%TARGET_DIR%%%i\%STARTUPFILE% /SC HOURLY /MO 1 /ST 17:%%i1:00 我想避免使用特定的用户凭据,因此决定使用SYSTEM。 现在,当检查taskmanagers进程列表,甚至更好,直接与 C:\> schtasks 指挥本身,一切运转良好,任务按预期运行。 然而在这个特殊的情况下,我想有一个打开的控制台窗口,我可以看到飞行的日志。 我知道我可以使用 C:\> tail -f thelogfile.log 如果我安装例如cygwin(在所有机器上)或一些专有工具,如Windows上的Baretail。 但是由于我只是在遇到麻烦的时候才切换到这些机器,所以我更愿意以这样的方式启动计划的任务,即每个用户立即看到日志。 任何机会? 谢谢!
在Windows Vista中(我假定Windows 7)Microsoft已经改进了通过任务计划程序运行的进程的安全性,即http://technet.microsoft.com/en-us/appcompat/aa906020.aspx : 在Windows Vista任务计划程序中,安全性大大提高。 任务计划程序支持一个安全隔离模型,其中在特定的安全上下文中运行的每组任务都是在单独的会话中启动的。 针对不同用户执行的任务在单独的窗口会话中启动,与机器(系统)上下文中运行的任务完全隔离。 问题是,我有一个脚本,需要以设定的时间间隔运行,并通过SCP将file upload到Linuxnetworking服务器,为此,我使用Pageant来存储脚本可以获取的SSH密钥。 所有这些在Windows XP中工作正常,但是由于Windows Vista中的隔离模式,脚本不允许与寻呼机进程交谈,SCP传输失败。 在任务计划程序configurationutil中有一个选项,您可以在其中select“为Windows Server 2003,Windows XP或Windows 2000进行configuration” ,这至less使交互式任务运行,我也想要,但隔离模式似乎仍然是启用。 问:是否有任何方法可以closuresWindows Vista任务计划程序中的新“隔离模式”,以便像Windows XP那样执行操作,从而实现进程间通信? 更新:我不知道这是否应该受到“会话0隔离”的影响 ,但在该页的文档中提到了以下内容: 服务尝试使用诸如SendMessage和PostMessage之类的窗口消息函数与应用程序进行通信。 这不起作用,因为应用程序运行在不同的会话中,因此具有不同的消息队列。 消息永远不会到达目的地。 尝试通过窗口消息与服务进行通信的应用程序也是如此。 哪个选美游戏可以…但是在“Configure for Windows XP”启用时也应该如此?