标签: powershell

获取当前脚本文件

在 PS 脚本中,如何检索表示或指向脚本文件的对象?类似于 get-currentscript 的东西。

我真正想做的是检索脚本文件的创建和/或修改时间。据推测,这可以从脚本文件对象中检索。当然,我也可以为当前脚本文件使用一个愚蠢的旧文件规范。

powershell

6
推荐指数
1
解决办法
2万
查看次数

在 PowerShell 窗口中,Ctrl + F 不显示查找

基于这个上下文菜单,我认为Ctrl + F会调出查找对话框,但事实并非如此。为什么不?如何从键盘调出查找对话框?

我确实看到快捷方式的标签中有“-”而不是“+”。我不确定这是否意味着什么。

右键单击选项

powershell

6
推荐指数
1
解决办法
4407
查看次数

来自 CMD/PowerShell 的批量裁剪图像

是否有任何 CMDline 实用程序或 3rd 方应用程序可以获取文件夹中的每个图像(在我的情况下为屏幕截图)并将它们全部裁剪为特定分辨率?

例如,我在扩展视图中有 3 个显示器,有时我需要即时截取屏幕截图,而最方便的方法是使用 WinKey + PrtScrn 组合。缺点是之后我必须手动裁剪 2 个显示器以获得大约 20-30 个图像。

powershell command-line crop windows-10

6
推荐指数
1
解决办法
4169
查看次数

如何使用 PowerShell 在 Windows 10 上安装 Ubuntu?

随着 Windows 10 的最后一次更新(Fall Creator's Update),我们可以在 Windows 上安装Ubuntu,这是一个Windows Store应用程序。我们可以通过 PowerShell 使用以下命令启用适用于 Linux 的 Windows 子系统(WSL):

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
Run Code Online (Sandbox Code Playgroud)

本着Dotfiles的精神,我想用 PowerShell在 Windows上安装Ubuntu。起初,我认为在 PowerShell 中使用Appx 模块是可能的。通过一些实验,它似乎适用于已安装的应用程序。

所以问题是:如何使用 PowerShell 在 Windows 10 上安装 Ubuntu,或者更一般地说,如何使用 PowerShell 从 Windows Store 安装应用程序?

powershell windows-store windows-subsystem-for-linux

6
推荐指数
1
解决办法
2万
查看次数

在 powershell 中每 6 个管道更换一次

我意识到我在问一个已经被问过和回答过的类似问题,但我无法推断出我需要的答案,因为正则表达式和正则表达式引擎足够不同。我有硬件资产管理日志,它们以管道分隔,但不是端点之间的主要分隔。日志如下所示:

|STATUS1|HOSTNAME1|IP1|MAC1|IS_WIRED1|STATUS2|HOSTNAME2|IP2|MAC2|IS_WIRED2|STATUS3|HOSTNAME3|IP3|MAC3|IS_WIRED3
Run Code Online (Sandbox Code Playgroud)

我想要做的是用|回车替换每 6 次,看起来像这样:

|STATUS1|HOSTNAME1|IP1|MAC1|IS_WIRED1
|STATUS2|HOSTNAME2|IP2|MAC2|IS_WIRED2
|STATUS3|HOSTNAME3|IP3|MAC3|IS_WIRED3
Run Code Online (Sandbox Code Playgroud)

我得到的最接近的选择每个端点,但我不太确定如何使用 powershell 来利用它。

[^\|]*\|[^\|]*\|[^\|]*\|[^\|]*\|[^\|]*\|[^\|]*
Run Code Online (Sandbox Code Playgroud)

我熟悉 PS 中的替换命令,我想象最终结果会是这样的:

$hosts = $hosts -replace "<highspeed_low_drag_velcro_snap_regex_here>","\r\n"
Run Code Online (Sandbox Code Playgroud)

提前致谢!

powershell regex string-manipulation

6
推荐指数
1
解决办法
1488
查看次数

Windows 10 - 普通用户(非管理员)如何为其帐户永久设置路径变量

我是 Windows 10 机器中的非管理用户。我试图为我的帐户设置 java 和 gradle 路径。作为普通用户,我无法通过控制面板访问环境变量。在 unix 中,我可以轻松更改 bashrc 并为我的帐户设置路径。在 Windows 中,我尝试使用 setx 或 set 命令设置变量,但这些变量不会为我的帐户保留。我也尝试过 powershell 命令,但出现访问被拒绝错误。所以,我的问题是,如果我做错了什么,如果有办法可以使用命令或在 Windows 中设置路径,非管理员用户不能永久设置路径变量。

setx /s machinename /u domain\username PATH "%PATH%;C:\dir1\dir2"
Run Code Online (Sandbox Code Playgroud)

我查看了适用于 Windows 7 的另一个答案,但是当我在命令 windows 10 下尝试时,没有任何反应:

"C:\Windows\system32\rundll32.exe" sysdm.cpl,EditEnvironmentVariables

windows powershell

6
推荐指数
2
解决办法
2万
查看次数

如何在 Windows 10 版本 1903+ 上通过 PowerShell 禁用 Windows Defender?

因此,我需要通过 PowerShell 脚本为某些虚拟机自动禁用 Windows Defender。在 5 月更新之前,可以在注册表中设置DisableAntiSpywareDisableRoutinelyTakingAction并且 Defender 被禁用。

现在使用 1903 版,这似乎不再起作用。即使通过注册表和重新启动禁用 Anti temp 保护,我也只会在尝试设置两个注册表值时获得拒绝权限。

有谁知道我如何解决这个问题?我尝试使用Invoke-CommandAs作为 SYSTEM 来执行此操作,但是很遗憾这不起作用。

powershell windows-defender windows-10

6
推荐指数
1
解决办法
7794
查看次数

使用脚本设置 PowerShell 别名

我创建了一个 PowerShell 脚本来为 PowerShell 会话设置别名。当我运行脚本并尝试使用别名时,我收到错误消息,指出无法识别别名。如何使用脚本设置的别名?

windows powershell alias

6
推荐指数
1
解决办法
178
查看次数

使用powershell为json生成MD5

是否可以使用 MD5 为文件夹中的每个文件(带路径)生成一个 JSON 对象?

[
    {
        "Name": "Games.dll",
        "md5": "4cd9e9a5efad4cceb01b3e41a047e489"
    }, {
        "Name": "Files/Image/Bg.png",
        "md5": "4cd9e9a5efad4cceb01b3e41a047e489"
    }
]
Run Code Online (Sandbox Code Playgroud)

powershell

6
推荐指数
1
解决办法
1643
查看次数

有没有办法让 Windows 终端成为 CMD 和 Powershell 的默认容器?

如果我打开新的 Windows 终端,我就可以打开 CMD、Powershell、Wsl 等选项卡。

但是,如果我直接运行 Powershell.exe 或 CMD.exe 或打开 .ps1/.bat 脚本,它们将使用各自的(丑陋的)标准窗口显示,而不是在 Windows 终端内。

我想知道是否有办法使然后始终在 Windows 终端中打开,无论我如何启动它们。

powershell cmd.exe windows-10 windows-subsystem-for-linux windows-terminal

6
推荐指数
1
解决办法
3521
查看次数