草庐IT

powershell-cmdlet

全部标签

windows - PowerShell session 不会消失

我有一个简单的脚本来遍历主机数组并远程运行命令。$myHost=@("hostA")$command={hostname}foreach($iin$myHost){Write-Host$i$session=New-PSSession-ComputerName$i-Credential$cred$res=Invoke-Command-Session$session-ScriptBlock$commandif($?){$res}Remove-PSSession-Session$session}当我执行Get-PSSession时,我仍然可以看到session事件。

windows - 批处理 Powershell,从 url 下载文件只会导致文件的一部分?

好吧,我对整个powershell还是个新手,我正在弄清楚如何通过批处理文件激活的powershell下载文件。我现在的代码基本上就是这样PowerShell(New-ObjectSystem.Net.WebClient).DownloadFile('https://www.dropbox.com/s/**********/tester.exe','tester.exe')因此,我第一次将其作为.bat文件运行时,它运行良好,文件已完全下载并在执行时正常运行。但是我从我的电脑上删除了文件,再次运行.bat并只取回了一部分下载,例如原始文件-350KB---下载文件209KB因此文件无法

c# - 从 Powershell 调用的 DLL 使用相对于 Powershell 安装目录的路径。我怎样才能将它设置为其他东西?

我有一个带有静态方法的DLL,我从Powershell脚本调用它。此静态方法执行一些任务并记录结果,使用与网站共享的log4net配置-log4net配置基于web.config文件,Powershell脚本使用此web.config文件,如下所示:[System.AppDomain]::CurrentDomain.SetData("APP_CONFIG_FILE",$webconfigpath)效果很好,log4net成功获取了配置,如下所示:[..]问题在于,当它尝试使用相对路径App_Data/log/process.log时,它使用的是C:\Windows\System32\W

windows - PowerShell:脚本不会计算自上次修改日期起超过 30 年的文件

全部。我卡住了。我有一个PowerShell脚本,它会在特定文件夹中查找自上次修改日期起超过30天的文件(此外,如果该文件夹不存在,它将创建该文件夹)。它创建了文件夹,它给了我所有的文件,它会在测试查询中列出所有文件,但它实际上不会计算30天以上的旧文件的数量。我已经尝试了几种方法来获取此计数(一些方法源自其他解决方案以从该站点删除旧文件),但PowerShell就是不想这样做。到目前为止,这是我的代码...$HomePath=$env:USERPROFILE$CompanyFolder="\Company"$TimeSensativeFolder="\TimeSensative"$T

.net - Windows 2012 R2 中的 Powershell 5.1

我想在我的Windows2012R2服务器中安装/升级powershell。默认情况下,w2k12有4.0powershell,所以我下载了WindowsManagementFramework5.1作为文件:W2K12-KB3191565-x64.msu当我运行它时-我收到错误消息“更新不适用于你的计算机”-好的......研究谷歌发现......我必须安装完整版的.NETFramework4.5.2-没问题..下载dotNetFx45_Full_setup.exe并运行。Error:""Microsoft.NETFramework4.5isalreadyapartofthisoper

json - 如何从 powershell 中的数组中删除对象?

我试图从数组中删除完整的对象而不是对象的成员。我无法找到删除对象的方法有很多解决方案可用于删除该项目。有人可以建议一种方法来删除完整的对象。JSONData:JSONdatastoredinthefile.{"data":[{"id":"Caption","firstname":"Caption","lastname":"test","email":"test","requester":"test","password":"test","incNumber":"test"}]}Code:Ihavewrittenthefollowingcodetoreadtheobjectfromthe

windows - 在 Windows 服务失败时运行 Powershell 脚本。手动运行时有效,但服务失败时无效。需要建议

所以我一直在研究一个脚本,以便在服务失败时发送电子邮件。该脚本工作得很好,因为我已经从PowerShell手动运行它。我收到电子邮件,一切都已检查完毕。然后我将其添加到服务中:ServiceRecoveryOptions我通过链接到可执行文件告诉它运行Powershell:C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe然后执行以下脚本:-commandC:\Users\andreand\Desktop\Sendmail.ps1如前所述,我在PowerShell中手动尝试了此操作,但出现错误。如果我在-command之前

windows - 从通过 SCCM 部署的 Powershell 脚本中运行 SFC.EXE

我正在尝试创建一个Powershell脚本,该脚本将部署到更新运行状况不佳的任何节点,以自动执行一些简单任务,而无需在用户工作期间打扰他们。如果从提升的PS提示符运行,Powershell脚本将完美运行。当通过SCCM将同一脚本部署到测试机器时,它也运行良好,但有一个异常(exception):它不会调用SFC.EXE/SCANNOW。我试过使用:Start-Process-FilePath"${env:Windir}\System32\SFC.EXE"-ArgumentList'/scannow'-Wait-NoNewWindowStart-Process-FilePath"sfc.

windows - 使用 PowerShell 的 IIS 输出缓存设置

我一直在努力寻找一种方法来配置IIS的“outputcaching”设置。我一直在环顾四周,确实有任何有用的东西。我基本上是在尝试为扩展名.pdf和设置“直到更改”设置输出缓存。我试过这段代码:Set-WebConfigurationProperty-pspath'MACHINE/WEBROOT/APPHOST/DefaultWebSite'-Filter"system.webServer/caching/profiles/add[@extension='.pdf']"-Name"kernelCachePolicy"-Value"CacheUntilChange"但这给了我以下错误:W

windows - 如何添加 PowerShell 脚本未扫描(离线等)的设备名称

非常非常多的PowerShell新手,我想要一个脚本来扫描网络上的设备并向本地管理员报告。在那里找到了一个并做了一些小的修改以满足我的需要-但我有一个我不知道该怎么做的模组。希望有人知道一个简单的方法来做到这一点?下面的脚本将读入设备名称列表-扫描它们并输出所有在线设备的日期报告。如果设备不可访问,我会在屏幕上看到以下错误,但报告中没有任何内容。我希望它在遇到错误时写入报告文件——类似“$computorwasnotaccessible!”的内容我使用的代码是$date=Get-Date-Formato|foreach{$_-replace":","."}ECHO"Startingsc