草庐IT

powerShell

全部标签

windows - PowerShell boolean 表达式

我正在编写一个powershell脚本,但在评估boolean表达式时遇到问题。这是我遇到问题的代码行:if(Get-Content.\Process2Periods.xmla|Select-String((Get-Date)|Get-Date-Format"yyyyMM")-quiet-neTrue)我在尝试运行时收到此错误消息:Select-String:Aparametercannotbefoundthatmatchesparametername'ne'.请帮助我理解这个问题。还有一点上下文,我正在文件中搜索一个字符串,如果它不存在,我想执行ifblock中的内容。我没有将代码粘

windows - 从命令行界面获取系统信息

我正在尝试创建一个脚本,该脚本在运行时将输出该计算机规范的文本文件。是否有一个程序可以提供命令行界面来生成包含Windows操作系统上简化的计算机规范的文本文件?只是基本的消费者信息。即:RAM、CPU、HDD等。我不需要也不想要关于计算机的每一个细节。我知道MSinfo32、DxDiag、Speccy提供导出功能,但Speccy不提供通过CLI的自动化,而其他两个只是导出所有系统信息的整体。其中大部分是个人的,对我的需要来说是不必要的。我能想到的仅有的两个解决方法是使用Windows等效的grep/cat/awk命令来仅筛选出必要的信息。鉴于每个系统显然具有不同的规范,这可能会证明是

windows - Powershell Windows 应用程序获取发布者显示名称

希望有人能帮助我。我正在尝试获取我计算机上安装的每个Windows应用程序的列表。使用Powershell可以轻松获得完整列表Get-AppxPackage结果如下:Name:Amazon.com.AmazonPublisher:CN=5050E920-F712-4A72-AFD4-2E82CC365EEFArchitecture:NeutralResourceId:Version:3.1.2.7PackageFullName:Amazon.com.Amazon_3.1.2.7_neutral__343d40qqvtj1tInstallLocation:C:\ProgramFiles\

windows - 我将如何在 Powershell 中的每个循环中保存我的凭据

有没有办法保存我的凭据,这样它就不会一直询问每个循环?比如,将它隔离在foreach循环之外。我尝试删除-credentials并将其添加到外部,但它给我一个未经授权访问的错误。我似乎无法弄清楚。抱歉,如果这个问题看起来很愚蠢,我是Powershell的新手。Import-ModuleActiveDirectory$ServerList=Get-Content"C:\servers.txt"foreach($ServerNamein$ServerList){"$ServerName""=========="Get-WmiObject-ClassWin32_UserAccount-Com

windows - 如何在Powershell中检查端口是否打开

我的系统中没有telnet命令。但是我的系统安装了Windows10,因此必须有一种方法来检查远程系统中特定端口是否打开。我已经使用ping命令检查了那个特定的远程系统。所以这是我的简单问题-如何使用powershell检查特定端口是否打开。命令netstat可以简要说明本地系统服务和端口以及UDP或TCP正在运行的特定协议(protocol)。因为我没有telnet,所以我需要通过powershell来解决这个问题。欢迎任何意见和建议。 最佳答案 Test-NetConnection###.###.###.###-Port##

Windows 在文件的特定行号上添加新行

我有一个包含以下内容的文件,...:jobdetails:empdetails:nontechempdetails#linenumber75:assistdetails#linenumber76...我正在尝试在第76行添加新条目,预计输出如下,...:jobdetails:empdetails:nontechempdetails#linenumber75:techempdetails#linenumber76:assistdetails#linenumber77...下面是正在尝试的批处理脚本方法,@echooffsetlocalenableextensionsdisabledela

windows - FuncOne() - 和 FuncTwo() 不工作

这是我的代码:if(FuncOne($valOne)-andFuncTwo($valTwo)){...}当这两个函数的计算结果为$false时,if语句中的代码仍会执行。这是为什么?这也没有按预期工作:if(FuncOne($valOne)-eq$true-andFuncTwo($valTwo)-eq$true){...}以这种方式编写时,它会按预期工作。$a=FuncOne($valOne)$b=FuncTwo($valTwo)if($a-and$b){...}这是怎么回事? 最佳答案 这是语法问题。在PowerShell中调用函

windows - Remove-Item 不删除文件

这是我的PowerShell脚本:$dir=([io.fileinfo]$MyInvocation.MyCommand.Definition).DirectoryNameGet-ChildItem-Path.\-Filter*.png-Recurse-File|Where-Object{$_.Name-match".+[\]]+.png"}|ForEach-Object{echo$_.FullName$(Test-Path$_.FullName)Remove-Item$_echo$_.FullName$(Test-Path$_.FullName)}回声给出了实际的文件名,但Test-P

windows - 在 Windows PowerShell 中运行 VS 2017 构建工具

我不喜欢IDE,所以我安装了VS2017构建工具,这样我就可以通过命令行工作了。安装很顺利,在WindowsCMD下一切正常,但是,PowerShell要好得多,而且我更喜欢使用PS。这里的问题是根据MSDN:TheVisualC++command-linetoolsusethePATH,TMP,INCLUDE,LIB,andLIBPATHenvironmentvariables,andmayalsousetool-specificenvironmentvariables.Becausethevaluesoftheseenvironmentvariablesarespecifictoy

arrays - 向 ArrayList 添加一组新值

所以我将以下ArrayList存储在$var中:ip_prefixregionstring0.0.0.0/24GLOBALSomething0.0.0.0/24GLOBALSomething0.0.0.0/24GLOBALSomething0.0.0.0/24GLOBALSomethingIneedtoaddarowtothishoweverthefollowingcodereturnsanerror:$var.add("127.0.0.1/32","GLOBAL","something")错误:Cannotfindanoverloadfor"Add"andtheargumentcou