为了开发目的,我正在Windows机器上运行Apache服务器。 它非常不重要,但有时我会运行需要很长时间的进程,而Apache将停止服务器请求。 发生这种情况时,重新启动Apache服务就可以正常工作。 是否有一个脚本可以检测到Apache是否无法加载页面,然后重新启动服务? 它可能看起来像这样: LOAD localhost/index.php IF LOAD FAILED: RESTART APACHE SERVICE
有谁知道如何使用Powershell创build一个“拒绝文件扩展名”规则,以便某些文件不会由IIS提供? 例如,我想设置一个规则来拒绝所有.txt文件被IIS提供服务。 谢谢
我试图运行一个脚本,修改多个AD用户帐户的密码,启用帐户,并在下次login时强制更改密码。 我使用这个代码,但是这不是工作: Get-ADUSER -Filter * -SearchScope Subtree -SearchBase "OU=myou,OU=otherou,DC=mydc,DC=local" | Set-ADAccountPassword -Reset -NewPassword (ConvertTo-SecureString -AsPlainText "NewPassord" -Force) | Enable-ADAccount | Set-ADUSER -ChangePasswordAtLogon $true 如果我运行Get-ADuser行只有一个运行正常的其他行: Get-ADUSER -Filter * -SearchScope Subtree -SearchBase "OU=myou,OU=otherou,DC=mydc,DC=local" | Enable-ADAccount 我哪里错了? 我是PowerShell的新手,可能是我误解了一些东西。
我目前正在尝试在两台独立的Windows Server 2012 Datacenter版hyper-v主机上使用重复数据删除function。 一方面,我正在尝试去除每5分钟左右仍在重新同步的副本。 另一方面,我已经在大约15台服务器(4TB的数据)上停止了与powershell脚本的重新同步,并将它们移动到启用了重复数据删除的卷的根目录下。 现在出于某种原因,除了副本VHD映像之外,它可以与我放在其中的任何东西一起工作。 它只是跳过他们。 我放了50个模板和isos,演出效果很好,我开始重复数据删除,如下所示: Start-DedupeJob -Full -Path R: -Type Optimization 它通常很好,但我首先使用它的实际原因是为了减less存储副本VHD快照所需的空间。 我宁愿能够让hyper-v主机重新同步VHD,并有重复数据删除,但如果我必须删除同步,然后重复数据删除,然后unoptimize重新同步或与我很好,我可以编写脚本出来,但现在在任何情况下,我可以得到这些去重复副本vhds! 这让我疯狂! 任何意见,build议,将不胜感激。 更新: 我有两个VHD,一个来自模板,另一个来自另一个hyper-v服务器主机上的另一个虚拟机上的1.6TB数据驱动器的副本映像。 我已经匹配所有的文件属性和权限是相同的,包括所有权。 唯一的事情是,与去重有关的文件被标记为属性APL,而不是这样做的文件只是属性A – 我不知道P和L是什么,我不相信我可以用attrib 。可执行程序。 这么疯狂 – 没有副本的vhds将会重复这样的事情! 更新: 我用来优化vhds的脚本是 $vhds = Get-ChildItem -Recurse | ? {$_.extension -match "vhd"} foreach ($vhd in $vhds) { Mount-VHD -Path $vhd.fullname -Verbose -ReadOnly Optimize-VHD -path $vhd.fullname -Verbose -Mode […]
我需要一个脚本,将改变我所有的广告用户电子邮件联系领域的信息。 格式将是“SAMAccountName + @ domain.com”。 我是一个powershell noob,需要一些帮助的语法。 任何帮助,将不胜感激。
我在Amazon EC2上有几个Server 2012实例,我正在设置GPO。 除了在计算机启动时指定的任何PowerShell脚本实际上正在执行外,所有GPO的设置都可以正常应用。 这些脚本位于拥有完全权限的已validation用户身份的UNC共享上。 我假设它可能与执行策略有关,但我不知道如何自动绕过它。 我可以在每个实例中绕过执行策略,但这显然不是一个好主意,而且我最终将连接将运行相同脚本的Windows 7计算机。 我怎样才能让脚本实际运行? 谷歌search没有收获很多… 当前权限 分享 – 已validation用户(完整) NTFS – Everyone(Full); 创作者(特别); SYSTEM(Full)
我有一个powershell脚本,创build作为自动化过程的一部分的计划任务,我的语法如下; schtasks /create /s ServerName /u $username /p $password /ru $username /rp $password /sc once /sd $StartDate /st $StartTime /tn $taskname /tr "\\ServerName\c$\$TaskName\$Taskname.bat" 任务成功创build,但执行时间到了,总是失败,出现错误(0X1)。 如果我单独运行batch file,它运行完美; 所以我的日程安排任务是错误的。 然后我发现它工作时,我提供了“开始”目录path。 我的问题是,为什么我应该提供一个开始的path,当明确说在任务的属性中的“可选”? 我的另一个问题是如何提供path的开始? 尝试了很多方法,一切都失败了,有没有自动化的方式来做到这一点? 我应该手动更新每个任务吗?
如何从相同的执行脚本中检查pipe道的成功/失败? Get-VM -Name Machine | Get-Snapshot | Where {$_.Created -lt (Get-Date).AddDays(-1)} | Remove-Snapshot -Confirm:$false 我不需要什么比相当于$? 。
这些论坛是伟大的,我希望得到一些帮助头痛我做了一个手动的过程,应该是比我发现它更容易自动化。 我有一个供应商应用程序的命令行工具,将上传应用程序的日志。 该工具只需要Unix UTC时间,我需要每天运行3到4次计划任务来上传应用程序日志。 我可能只是上传所有的日志,但这仍然是一个问题,因为我不知道如何在脚本中做到这一点。 所以我可以上传所有的日志,而不用担心只上传最新的日志。 该命令是在我开始下面的powershell脚本中,但是如果使用batch file我可以更容易地做到这一点,我只是试图避免添加像blat发送电子邮件,也不知道如何以获得任务结果在批处理脚本,这是我需要发送的电子邮件。 下面的“IEX”是完整的命令,这是我需要填充UTC时间的一天,如果比从上次计划的任务运行得到时间更容易,那么这是最安全的select。 然后最后的“1 1”是供应商所要求的为上传添加选项的参数。 如何填充日志上传的当前date和时间? 如果是每天上午12:01(东部)到下午11:59(东部)这样的时间,那应该没问题? # "iex" is an alias for the invoke-expression cmd iex c:\path_to_exe\myprog.exe -a 1379300570 1379300570 1 1 # $? lets us know if the previous command was successful or not # $LASTEXITCODE gives us the exit code of the last Win32 exe execution […]
我正在运行Azure上的Ghost博客平台的一个实例。 设置起来很简单,我使用了一个来自画廊的模板,很快就build立起来了。 通过FTP进行模板调整这样的工作很容易,但是如何升级它或者确保节点是最新的,我已经失去了。 我怎样才能拔出一个命令行,或运行在我的网站上运行命令的PowerShell窗口?