草庐IT

powerShell

全部标签

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

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

windows - GetScheduledTaskInfo NextRunTime 错误

我正在尝试使用Powershell获取某些计划任务的NextRunTime。我正在检索这些值,但它们与我在任务计划程序管理控制台中看到的不匹配。例如,在任务计划程序控制台中,我的“TestTask”的下次运行时间值为“1/9/201812:52:30PM”。但是,当我在Powershell中执行以下调用时,它会为NextRunTime显示“12:52:52PM”。Get-ScheduledTask-TaskName"TestTask"|Get-ScheduledTaskInfo据我所知,从PowerShellGet-ScheduledTaskInfocmdlet返回的秒值始终与分钟值相

windows - 查找值不属于另一个数组 PowerShell 的数组元素

我有两个数组$adg-(广告组列表)$dbs-(数据库名称列表)假设我使用这个命令$adg-匹配$dbs.i输出将是名称中包含字符串$dbs的所有AD组。但是,我的目标是找到不属于AD组数组的数据库。例如:$adg=@("Dev22_Owner","Test49_Owner","Rocket_Owner")$dbs=@("Dev22","Confidential","InternDB","Rocket","Test49")我应该采用什么方法来获取输出:ConfidentialInternDB我试过$dbs|其中$adg-notmatch$dbs.i但没有输出。

windows - 使用 PowerShell 重置 'Friendly Name' 证书属性

我需要一个证书的FriendlyName在证书控制台中设置为空值FriendlyName列将显示.使用此代码我所能得到的只是列中的空值,而不是我需要。gci"Cert:\LocalMachine\My"|?{$_.Subject-like"CN=mycer*"}|%{$_.FriendlyName=''}我也试过$_.FriendlyName=$null这没有什么区别。奇怪的事情-当我清除FriendlyName使用控制台,然后从Powershell的角度来看,该值为''因为以下语句会产生True:write-host($_.FriendlyName-eq'').然而,'''反之亦然应

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

windows - 有没有办法使用 PowerShell 检查本地服务器上任意安全主体的管理权限?

网络上的许多示例显示了使用以下方法检查当前用户是否具有管理权限的方法[Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()在特定服务器上运行命令时,是否有类似的方法来检查不是“当前”身份,而是检查任何(本地或域,例如,从Get-ACLcmdlet检索)。我检查了https://learn.microsoft.com/en-us/dotnet/api/system.security.principal.windowsidentity.-ctor?view=netfram

windows - 将位置更改为快捷方式位置

我正在启动一个带有powershell快捷方式的脚本(C:\Windows....\powershell.exe-file'D:\powershell\script.ps1')。有没有办法让脚本将其当前位置更改为所述快捷方式的位置?示例:脚本本身在D:\powershell\中,快捷方式在C:\Work\Project1中。我需要将脚本cd到“C:\Work\Project1\”。谢谢 最佳答案 您可以制作一个快捷方式,从它所在的任何目录开始。您所要做的就是修改快捷方式的“开始于”属性,并将其清空。那就对了。将其设置为空。然后,当您

windows - 在 Windows 上更改语言和区域设置

我从未尝试过这样做,但我认为这是可能的。我需要一个可执行文件,或脚本,可以自动更改默认Windows格式和数字符号。我需要它以便我可以一键更改许多PC上的默认区域。我创建了打开intl.cpl的快捷方式:C:\Windows\System32\rundll32.exeshell32.dll,Control_RunDLLintl.cpl,,0但我希望这一切都是自动的:将格式更改为:Serbian(Latin,Serbia)将小数和分组符号更改为:"."and","respectively并将RegionSettings更改为:Serbian(Latin,Serbia)我找到了thisPo

windows - 如何转义schtasks/tr参数

我需要安排一个PowerShell任务,如下所示:powershell.exe-file..\Execute\execute.ps1我尝试将其分配给参数$Argument,然后将其传递给schtasks,如下所示:$Argument="powershell.exe-file'..\Execute\execute.ps1'"schtasks/create/tn"SOE_Checks"/tr$Argument/scDAILY/st05:00/ru"System"/rlHIGHEST/f但是运行上述代码后,什么也没发生-成功创建任务后,它似乎没有运行。我也尝试将其分配给不带引号的$Argum

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