草庐IT

powerShell

全部标签

windows - 检查Powershell中是否存在多个目录,然后执行命令

我正在使用此命令删除两个不同目录中的多个文件:Remove-Item-pathc:\tmp\folder1\*,c:\tmp\folder1\*-Force-Recurse这两个文件夹都包含一些我想删除的zip文件和子文件夹在执行此命令之前,我需要检查这些文件夹(folder1和folder2)是否存在且不为空。想不通:(如有任何帮助,我们将不胜感激。 最佳答案 如果您想使用if检查多个条件,则-and结果:if((Test-Path'C:\tmp\folder1\*')-and(Test-Path'C:\tmp\folder2\*

windows - 如何在启动 powershell.exe 之前设置首选项 `$ErrorView = "CategoryView"`

如何在启动powershell.exe之前设置首选项$ErrorView="CategoryView"?powershell.exe-command"$ErrorView="CategoryView";dirwrong.txt"不起作用。 最佳答案 您的代码中存在严重错误。您在外部使用了4个双引号而不是两个双引号,在内部使用了一对单引号。[咧嘴一笑]这行得通......powershell.exe-command"$ErrorView='CategoryView';dirwrong.txt;pause"当您确定某些事情正在按需要工作

windows - 如何在 vbscript 中使用字符串变量作为 telnet 命令?

我正在尝试运行一个Powershell脚本,该脚本将调用一个批处理脚本,该脚本将启动一个telnetsession并运行以下命令:mediaGet("gei",1)感谢这个stackoverflow问题Isitpossibletouseabatchfiletoestablishatelnetsession,sendacommandandhavetheoutputwrittentoafile?我写了两个脚本:远程登录.batstarttelnet.exe162.100.10.10cscripttelnet.vbs远程登录.vbssetOBJECT=WScript.CreateObject

windows - 将 Windows cURL 语法转换为等效的 InvokeRestMethod 命令

我无法将Windows中的有效cURL命令转换为等效的PowerShellInvokeRestMethod命令。看起来我很接近。我收到回复了。但是,API似乎无法理解InvokeRestMethod命令发送的嵌套哈希表元素"domain"。API似乎可以很好地识别所有其他哈希元素。cURL命令(有效)curl"https://api.rebrandly.com/v1/links"-XPOST-H"apikey:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"-H"Content-Type:application/json"-d"{\"destination\":\"h

windows - 在目录中保留 100 个最新文件 - Windows 脚本移植

你好:我在linux中有一个cronjob,它将最后100个文件保存在一个目录中,现在我需要将它移植到windows上。我的Linux作业如下:#sortbytime,1perline|getfilesover100th|deletethose$ls-1t\my\path\tmp|tail--lines=+100|xargsrm-f每天运行一次现在我在做REMgetfilesoltherthan2D,deleteforfiles/d-2/p"C:\my\path\tmp"/c"cmd/cDel@path"只删除超过2天的文件,但如果总数不是太大( 最佳答案

windows - 从另一个 powershell session 访问在一个 powershell session 中创建的远程 powershell session

为了详细说明,我正在为本地主机创建一个远程powershellsession。本质上,我是从我的第一个PowerShellsession(1)运行以下命令。$s=New-PSSession;现在,我打开了另一个powershellsession(2),我想连接到在powersession(1)中创建的远程session。这可能吗?我看到在(1)中创建的远程PowerShellsession在(2)中不可见。有没有一种方法可以跨不同的PowerShellsession访问这些远程session。 最佳答案 幸运的是,该功能已首次添加到

windows - 使用 powershell 添加/删除主机文件条目会损坏文件

我正在尝试使用powershell添加或删除Windows主机文件中的特定条目,但是当我这样做时,它会工作一段时间,并且在一段时间后它会再次被编辑(我猜是当Windows读取它时),它会损坏(显​​示中文字符)。我已经尝试使用我找到的部分代码here.它允许我正确编辑文件并且条目有效,直到它被破坏。我这样做是为了添加条目:If((Get-Content"$($env:windir)\system32\Drivers\etc\hosts")-notcontains"111.111.111.111example.com"){ac-EncodingUTF8"$($env:windir)\sy

windows - PowerShell Windows 许可证类型

我正在尝试提取Windows许可证类型,我可以使用以下命令来完成,但它需要很长时间,是否有更快的PowerShell命令来完成此操作?请参阅下面的代码了解我的尝试。(Get-CimInstanceSoftwareLicensingProduct|Where-Object-FilterScript{($_.Description-like"W*"-and$_.licensestatus-eq1)}|Select-Object-first1-ExpandPropertyDescription)-replace'.*(VOLUME_MAK|OEM_SLP|RETAIL|OEM_COA_NSL

windows - 动力外壳 $?在做直到循环

我正在尝试使用$?在PowerShell中创建一个加入Windows域的循环,如果最后一条命令是否返回错误,它应该返回false/true。这是我得到的:Add-Computer-DomainName"domainname.local"-Credential"admin"$MaxAttempts=0do{if($?-like"false"-and$MaxAttempts-lt5){$MaxAttempts+=1Write-Host"Attempt"$MaxAttempts"outof5"Add-Computer-DomainName"domainname.local"-Credenti

windows - powershell如何只查看最近24小时内创建的文件

我有以下代码。它工作正常,但问题是,例如,如果现在是晚上8:20,代码会看到前一天晚上8:20之后的所有文件。我需要在前一天的凌晨12点之后。Get-ChildItem-Exclude*.log|SortCreationTime-Descending|Where-Object{$_.CreationTime-gt(Get-Date).AddDays(-1)}|Select-Object-ExpandPropertyName我该如何解决? 最佳答案 (Get-Date).AddDays(-1)Thursday,12September2