草庐IT

Shell脚本2

全部标签

windows - 当这很容易规避时,powershell 拒绝加载任何本地 ps1 脚本的目的是什么?

背景:我想使用powershell脚本来自动执行工作中的一些任务。我不是管理员,无法运行提升的powershell进程。我倾向于使用批处理脚本通过命令行实用程序以编程方式执行某些任务,但随着我的能力的提高,它已经到了很明显powershell将是更适合该任务的工具的地步。我试用了即时窗口,并编写了一个基本脚本,看看是否可以正常工作。一旦我掌握了一些测试命令,我就将它们保存到一个文件中。Write-Host"Let'sdothis"[System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")[Syste

c# - 在 C# 中运行 Powershell 脚本

我正在尝试通过C#在Windows窗体中运行PowerShell脚本。问题是我有两个枚举,我无法在代码中正确地使用它们:usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Threading.Tasks;usingSystem.Windows.Forms;usingSystem.Collections.ObjectModel;usingSystem.Management.Automation;usingSystem.Management.Automation.Runspaces;namespa

linux - 在 Azure Cloud Shell 中指定 SSH 私钥

我已经在Azure上创建了LinuxVM。在本地,我正在使用Windows。我设置了用PuTTy生成的公钥。我关注了HowtouseSSHkeyswithWindowsonAzure我可以通过指定“用于身份验证的私钥文件”使用PuTTy登录到VM,这很有效。但是我不知道如何使用AzureCloudshell登录机器。我看到ssh中有-i选项,但key文件在我的本地机器上。如果我简单地输入sshusername@ip(如教程所说),我得到“权限被拒绝(公钥)”。响应。我应该怎么做?我可以将key文件上传到azure吗? 最佳答案 使用

windows - Windows 批处理脚本中 FOR 命令中的 token 数限制

我试图在Windows批处理脚本中处理一个文本文件,但我遇到了一些问题,看起来像是FOR循环中对31个标记的限制。我在下面的代码中隔离了这个问题:@ECHOOFFSETDATA=0102030405060708091011121314151617181920212223242526272829303132333435FOR/F"tokens=31*delims="%%iIN("%DATA%")DO(ECHO[%%i]ECHO[%%j])ECHO.FOR/F"tokens=32*delims="%%iIN("%DATA%")DO(ECHO[%%i]ECHO[%%j])输出是:[31][3

当我将脚本作为 Windows 服务运行时,Python 代码无法按预期工作

这是在WindowsVista上获取桌面路径的代码。importpythoncomimportwin32com.clientpythoncom.CoInitialize()shell=win32com.client.Dispatch("WScript.Shell")desktop_path=shell.SpecialFolders("Desktop")当我尝试使用python解释器时,代码工作正常,但当我从作为Windows服务运行的Python脚本执行相同的代码时,代码却不起作用。函数将桌面路径返回为空字符串。知道这里出了什么问题吗?当python脚本作为Windows服务运行时,是

python - 在 Python 脚本中获取 Cygwin 安装路径

我正在编写一个跨平台的python脚本,如果平台是NT,它需要知道是否安装了Cygwin以及安装在哪里。现在我只是简单地检查默认安装路径“C:\Cygwin”是否存在。我希望能够以编程方式确定安装路径。Windows注册表似乎不是一个选项,因为Cygwin不再将它的挂载点存储在注册表中。因此,甚至有可能以编程方式获取Cygwin安装路径吗? 最佳答案 仅对Cygwin1.7有效:您需要检查HKEY_CURRENT_USER和HKEY_LOCAL_MAHINE的Cygwin注册表项。根据Cygwin的安装方式,它可以位于任一键下。以下

windows - 通过 PowerShell 加载类型库并编写 Windows Live Writer 脚本

一般来说,我对COM和Windows编程/脚本编写还很陌生。我想做的是编写WindowsLiveWriter脚本;根据文档,我可以打电话$o=New-Object-cWindowsLiveWriter.Application我需要先加载TLB,所以我应该调用add-type命令,不幸的是它失败了:PSC:\Users\NoWhereMan>add-typewindowslivewriter.applicationAdd-Type:c:\Users\NoWhereMan\AppData\Local\Temp\a7ifbimo.0.cs(1):Anamespacedoesnotdirect

windows - 让 Linux shell 脚本将字符串填充到 Windows 用户的复制/粘贴缓冲区中

我们现在有一个脚本,我们的Windows用户可以通过putty在Linux主机上运行该脚本。脚本有时会生成一个字符串,用户必须将其复制并粘贴到Windows应用程序中。如果不在Windows机器上运行成熟的X显示服务器,我想修改脚本,以便将字符串自动填充到Windows用户的复制/粘贴缓冲区中,这样对用户来说更方便等等我们降低了错误率(工作流程已经够笨拙的了,我们想让它少一点)。以下是我不考虑的解决方案:为此在Windows端运行一个完整的X显示管理器(如果存在一个几乎不可见的实用程序来启用仅此一个功能,那就另当别论了)让用户停止运行Windows重写任何其他应用程序我可以完全控制Wi

Windows 批处理脚本问题 - 引用包含空格的变量

所以这是我的问题:我想使用%cd%以便用户可以在他们想要放置脚本的任何地方执行脚本,但是如果%cd%包含空格,那么它将失败(无论引号如何)。如果我对路径进行硬编码,它将使用引号起作用,但如果它是一个变量,它将失败。失败:(如果%cd%包含空格)“%cd%\测试.bat”作品:"C:\ProgramFiles\Testing.bat"有什么想法吗? 最佳答案 %CD%不是正确的方法,因为它指示调用脚本时用户所在的目录,而不是脚本所在的目录居住。改为使用%~dp0从%0中提取驱动器和路径信息:REMC:\ProgramFiles\tes

windows - 我可以通过 ini 文件中的设置或直接从脚本中设置 CLI 模式下 php 脚本的运行优先级吗?

我指的是可以从任务管理器更改的设置,例如“实时”或“空闲”。我的脚本占用了大量资源并削弱了同时运行的GUI程序。我想通过脚本将它的优先级设置为空闲。我不需要它100%快。 最佳答案 在Windows命令行上,您有几个选项:start/b/lowprogram.exestart/b/highprogram.exestart/b/realtimeprogram.exestart/b/normalprogram.exestart/b/abovenormalprogram.exestart/b/belownormalprogram.exe