在 PS 脚本中,如何检索表示或指向脚本文件的对象?类似于 get-currentscript 的东西。
我真正想做的是检索脚本文件的创建和/或修改时间。据推测,这可以从脚本文件对象中检索。当然,我也可以为当前脚本文件使用一个愚蠢的旧文件规范。
是否有任何 CMDline 实用程序或 3rd 方应用程序可以获取文件夹中的每个图像(在我的情况下为屏幕截图)并将它们全部裁剪为特定分辨率?
例如,我在扩展视图中有 3 个显示器,有时我需要即时截取屏幕截图,而最方便的方法是使用 WinKey + PrtScrn 组合。缺点是之后我必须手动裁剪 2 个显示器以获得大约 20-30 个图像。
随着 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 安装应用程序?
我意识到我在问一个已经被问过和回答过的类似问题,但我无法推断出我需要的答案,因为正则表达式和正则表达式引擎足够不同。我有硬件资产管理日志,它们以管道分隔,但不是端点之间的主要分隔。日志如下所示:
|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)
提前致谢!
我是 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
因此,我需要通过 PowerShell 脚本为某些虚拟机自动禁用 Windows Defender。在 5 月更新之前,可以在注册表中设置DisableAntiSpyware和DisableRoutinelyTakingAction并且 Defender 被禁用。
现在使用 1903 版,这似乎不再起作用。即使通过注册表和重新启动禁用 Anti temp 保护,我也只会在尝试设置两个注册表值时获得拒绝权限。
有谁知道我如何解决这个问题?我尝试使用Invoke-CommandAs作为 SYSTEM 来执行此操作,但是很遗憾这不起作用。
我创建了一个 PowerShell 脚本来为 PowerShell 会话设置别名。当我运行脚本并尝试使用别名时,我收到错误消息,指出无法识别别名。如何使用脚本设置的别名?
是否可以使用 MD5 为文件夹中的每个文件(带路径)生成一个 JSON 对象?
[
{
"Name": "Games.dll",
"md5": "4cd9e9a5efad4cceb01b3e41a047e489"
}, {
"Name": "Files/Image/Bg.png",
"md5": "4cd9e9a5efad4cceb01b3e41a047e489"
}
]
Run Code Online (Sandbox Code Playgroud) 如果我打开新的 Windows 终端,我就可以打开 CMD、Powershell、Wsl 等选项卡。
但是,如果我直接运行 Powershell.exe 或 CMD.exe 或打开 .ps1/.bat 脚本,它们将使用各自的(丑陋的)标准窗口显示,而不是在 Windows 终端内。
我想知道是否有办法使然后始终在 Windows 终端中打开,无论我如何启动它们。
powershell cmd.exe windows-10 windows-subsystem-for-linux windows-terminal
powershell ×10
windows-10 ×3
windows ×2
windows-subsystem-for-linux ×2
alias ×1
cmd.exe ×1
command-line ×1
crop ×1
regex ×1