Questions tagged «scripting»

在系统管理的上下文中,计算机编程的一种形式非常适合于自动执行任务。

2
使用Powershell卸下USB外置驱动器
我正在尝试使用Powershell卸下外部USB驱动器,但无法成功执行此操作。以下是我使用的脚本: #get the Win32Volume object representing the volume I wish to eject $drive = Get-WmiObject Win32_Volume -filter "DriveLetter = 'F:'" #call dismount on that object there by ejecting drive $drive.Dismount($Force , $Permanent) 然后,我检查计算机以检查驱动器是否已卸载,但尚未卸载。 尝试使用布尔值$ force和$ permanent进行不同的排列,但无济于事。切换参数时,dismount命令返回的退出代码会更改。 (0,0) = exit code 0 (0,1) = exit code 2 (1,0) = exit code …

3
Bash脚本计算文件数量
我有一个脚本,如果文件存在或不存在,我想显示不同的消息。我有一个像这样的脚本: count=ls /import/*.zip | wc -l echo "Number of files: " $count if [ "$count" > "0" ]; then echo "Import $count files" else echo "**** No files found ****" fi 但是,如果不存在文件,则显示的No such file or directory不是0个文件。目录中有一个目录/import/,所以我不能只执行ls命令,因为它总是返回大于0的值。 如何计算特定扩展名(.zip,.gz等)的文件数,并在bash脚本中使用该值来显示文件数,然后在if语句中使用它显示不同的消息?
11 bash  scripting 


4
如果同一任务已经在运行,如何阻止计划任务运行?
我已经编写了一个php脚本来检查文件夹中是否有任何新文件,如果存在任何新文件,请将它们上传到服务器。这些文件可能很大。我想经常运行此脚本(假设每5分钟运行一次)作为计划任务,以便将文件尽快移至服务器。但是,一旦脚本已经尝试上载文件,我就不想再次运行它,因为恐怕第二个实例将覆盖已经上载到服务器的文件。 除非脚本已在运行,否则如何将其作为计划任务运行?

1
Windows-通过GPO或脚本关闭高对比度模式吗?
我遇到的情况是,大量部署Windows 10计算机,并且用户打开了一些真正可怕的高对比度主题,然后由于无法将其改回而消耗了IT资源。 我知道有一个键盘快捷键可以切换此设置(Alt+ Shift+ Print Screen),但是四处运行或尝试进行用户培训都占用大量资源,并且我知道可以完全阻止访问辅助功能设置的选项,但是我们视觉障碍的用户需要访问并非恶意的易用性设置,因此这不是一种选择。 我也知道阻止用户更改其主题的选项,但是在这样做之前,我需要摆脱这种高对比度的主题垃圾。 有谁知道一种通过脚本或GPO简单关闭高对比度主题的方法吗?

3
通过GPO / GPP部署打印机-是否有编程选项?
由于我无法控制的原因,我的任务是设置GPO / GPP,以将我们的100多台打印机部署到我们的1000多台客户端。 好消息是,我们有十几个站点,在大多数情况下,我被允许将站点X的所有打印机推送到站点X的所有客户端PC。 坏消息是,我知道怎么做的两种方式(“从打印服务器部署组策略...”和使用GPP /组策略首选项)涉及的手动工作要比我愿意做的要多得多。这么多的打印机,例如,我什至似乎都无法选择打印服务器上的所有打印机并使用该Deploy with Group Policy...选项-它希望我一步一步地做到这一点,这不会发生。GPP更加糟糕,因为它希望我从打印服务器中选择打印机的路径,然后手动打入一堆应该能够从打印机连接中获取的信息(例如打印机IP)。 我的Google-Fu脚本将打印服务器上的所有打印机添加到GPO / GPP时显示为空,我似乎看不到另一种以半自动方式执行此操作的方法,但我坚持相信我会丢失某些东西,因为任何理智的人都不会选择将几百台打印机手动添加到GPO中。 理想情况下,我想找到一种编程方式来使用GPP,但是在这种情况下,任何不涉及数十小时手动添加打印机的解决方案都很好。 有没有人可以做到这一点,或者我是否需要构建PowerShell脚本和/或欺骗下属来做到这一点?

3
Powershell参数
我的脚本中有一个Param块 Param ( [Parameter(Mandatory=$True)] [string]$FileLocation, [Parameter(Mandatory=$True)] [string]$password = Read-Host "Type the password you would like to set all the users to" -assecurestring ) 我可以在必填的“参数”字段中使用“读取主机CmdLet”吗?如果不是,我该怎么做才能确保输入正确的变量类型,以便将其传递给用户创建过程?

1
EC2启动-如何判断Windows准备就绪?
我正在使用Amazon EC2,并且有一些支持EBS的Windows AMI。从EBS快照启动新实例时,EC2Config服务会为我准备Windows计算机。我知道EC2Config何时完成,因为我可以检查实例控制台输出-一旦它说“ Windows就绪”,我就知道我很好。 我正在寻找的是一种从操作系统本身内部判断“ Windows已就绪”的方法。我认为可以从OS内访问的元数据URL可以告诉我这一点,但是我找不到任何合适的值。 http://169.254.169.254/latest/meta-data/ 我的目标是在“ Windows就绪”后运行配置脚本。我的一些配置任务需要确保在启动之前已完全配置计算机,尤其是在EC2Config重命名计算机并重新启动时。我可以使用EC2工具或C#编写某些内容...但是那需要我在我的AMI上使用我的AWS密钥(我不想这样做)。理想情况下,我想看看机器本身上的内容以告诉我何时可以开始配置-诸如EventLog条目,观看文本文件,检查元数据URL等。 附带的问题:我可以使用一篇很好的文章来确切地说明捆绑/解除捆绑过程对EBS机器的作用。



2
通过appcmd更改IIS上的物理路径未激活
我们在IIS 7.5上遇到了一个问题,其中有一个简单的部署系统,该系统包含以下内容: 创建一个新的webroot的zip文件,其中包含三个文件夹: Api Site Manager 该文件解压缩到一个新文件夹中(假设我们将其称为“ SITE_REV1”),其中包含一个脚本,该脚本调用以下内容(每个webroot之一): C:\Windows\system32\inetsrv\appcmd set vdir "www.site.com/" -physicalPath:"SITE_REV1\Site" 这通常可以工作9/10次。在某些情况下,webroot似乎已正确更新(如果我检查了IIS Manager中的基本设置,则该路径看起来正确),但是正在运行的站点实际上指向的是旧位置。我们设法“修复它”的唯一方法是运行IIS重置。回收有问题的应用程序池还不够。 有时似乎甚至有必要进行重新启动,但是我不是100%确信这是正确的(并不是总是我自己来解决问题)。 我使用Powershell和Web-Administration模块重写了脚本,希望在appcmd中出现故障,但是会发生相同的问题。 Set-ItemProperty "IIS:\Sites\www.site.com" -Name physicalPath -Value "SITE_REV1\Site" 有没有人经历过这样的事情?有人对正在发生的事情有什么头绪,而我可以做些什么来防止此问题?对我们来说,IIS重置并不是一个好选择,因为每次我们尝试在单个站点上部署更改时,这都会影响服务器上的所有站点。 编辑:我们已经确定IIS管理器中站点的启动/停止(不是应用程序池)可以解决错误的物理路径,但是如果我使用appcmd停止站点,更改物理路径,然后启动它,则我仍然会遭受同样的问题。我一片空白...

4
gpg-agent说代理存在,但是gpg说代理不存在?
我在bashDebian 6.0.6盒子上编写gpg脚本时遇到了一些问题。我有一个脚本,它可以执行一系列操作,并且想要确保在尝试进行操作之前gpg-agent可用。 由于gpg-agent将不执行任何操作,并且如果已在运行时启动则返回成功,因此确保存在该代理非常简单: eval $(gpg-agent --daemon) gpg-agent 开始,或将报告: gpg-agent[21927]: a gpg-agent is already running - not starting a new one 并返回0(成功)(如果已运行)。 当代理已在另一个会话中运行时,就会出现此问题。gpg-agent说它已经在运行...但是gpg它的自我随后声称它不可用。 $ gpg-agent --version gpg-agent (GnuPG) 2.0.19 libgcrypt 1.5.0 $ gpg --version gpg (GnuPG) 1.4.13 $ eval $(gpg-agent --daemon) gpg-agent[21927]: a gpg-agent is already running - not starting a …
9 scripting  shell  gpg 

5
如何在Linux中轻松地从标准输入流转换HTML特殊实体?
CentOS的 有没有简单的方法可以从数据流转换HTML特殊实体?我将数据传递到bash脚本,有时该数据包括特殊实体。例如: “测试”和 测试$ test!测试@#$%^& * 我不确定为什么某些字符显示正常而其他字符却显示不正常,但是不幸的是,我无法控制传入的数据。 我想我也许可以在这里使用SED,但这似乎很麻烦,而且容易出现误报。我可以通过管道传输到专门解码此类数据的Linux命令吗?
9 linux  bash  scripting  sed  html 

2
Bash脚本错误:./ test:第5行:UID:只读变量
我有一个脚本可以在我的开发服务器上正常运行,但是当我尝试在生产环境中运行该脚本时不起作用。 我收到以下错误,我无法弄清楚: ./test.sh:第5行:UID:只读变量 有什么建议么? #!/bin/sh while read inputline do UID="$(echo $inputline | cut -d '"' -f4)" PASSWORD="$(echo $inputline | cut -d '"' -f8)" FIRST="$(echo $inputline | cut -d '"' -f6 | cut -d ' ' -f1)" LAST="$(echo $inputline | cut -d '"' -f6 | cut -d ' ' -f2)" zmprov …
9 bash  scripting 

4
有没有办法防止在服务器端创建Thumbs.db?
我在Win2003 Server共享驱动器上的文件上运行一些脚本。 我需要查看网络中任意数量的PC上的图像..因此,每次浏览这些文件夹时,客户端都会创建thumbs.db,这会干扰我们移动和删除文件夹的脚本,但是由于以下原因,通常无法这样做: “ thumbs.db正在使用”。 即使在使用的任何客户端计算机上关闭文件夹/图像预览时,也是如此。 所以我想完全禁用thumbs.db,但是在服务器上有没有办法做到这一点,所以我不必担心客户端计算机注册表设置等?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.