我是 Windows PowerShell 的新手。我尝试了一些临时查询来测试包提供者及其各自的提供者。到目前为止,我设法安装了 Chocolatey 和 Nuget。

当我尝试通过 Nuget 查看可用的包时,该命令不返回任何内容。

我用 Chocolatey 尝试了相同的命令(find-package -provider),这次成功显示了可用的包列表。
Nuget 有什么问题?
编写PS脚本快速设置设备@work。我需要一种在 cmd/PS 中设置它的方法,但广泛的搜索结果......没有。这个偏好甚至存储在哪里?我发现:
HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetrics\Shell Icon Size=32
Run Code Online (Sandbox Code Playgroud)
但无论如何,这是 32 并且改变它似乎不会改变大小。想法,苏?
我正在使用 Windows 10,在powershell我想查看tree所需深度级别的文件夹结构。为此,我使用以下命令:
tree -F -L 1
Run Code Online (Sandbox Code Playgroud)
但我想出了以下几点:
PS E:\Tutorials> tree -F -L 1
Too many parameters - -L
Run Code Online (Sandbox Code Playgroud)
这里有什么问题?什么是看到了正确的道路tree结构windows。
提前致谢。
我通过以下方式使用 Visual Studio 开发人员命令提示符创建了 PFX 证书;
makecert -r -pe -n "CN=mycert" -sky exchange "mycert.cer" -sv "mycert.pvk"
pvk2pfx -pvk "mycert.pvk" -spc "mycert.cer" -pfx "mycert.pfx" -pi [password]
Run Code Online (Sandbox Code Playgroud)
然后我使用 PowerShell 来查询证书
$cert = Get-PfxCertificate [Location]
$cert.Verify()
# Returns 'False'
Run Code Online (Sandbox Code Playgroud)
如何获得此证书以用于加密?
@root 建议使用Import-PfxCertificate命令。这是我运行它时发生的情况。
Import-PfxCertificate -FilePath [Path]
Import-PfxCertificate : The PFX file you are trying to import requires either a different password or membership in an Active Directory principal to which it is protected.
At line:1 char:1
+ Import-PfxCertificate -FilePath [...]
+ …Run Code Online (Sandbox Code Playgroud) 我可以使用资源管理器的“在此处打开 PowerShell 窗口”上下文菜单项在当前文件夹中打开 PowerShell。但是,此提示以受限用户身份运行。如何提升此提示以使其以管理员身份运行,并保留当前目录?
我的硬盘驱动器上有一些没有任何扩展名的文件。手动找到它们非常困难,我真的不喜欢这样一个事实,因为我需要尽快更换鼠标,因为它不是很大,但非常显着损坏,通过不断尝试找到这些文件对硬件造成单击和滚动,因为它们是单个文件夹中数千个文件中的数百个。
这里有没有人知道 acmd或PowerShell命令,或者一些 Windows 资源管理器搜索高级查询语法来帮助简化这个任务?
粗略地说,我想做相当于bash的:
find . -name "*portal*" -type f -size +100k
我试过了:
Get-ChildItem -Filter "*portal*" -Recurse -File | where-object {Size -gt 10 }
Get-ChildItem -Filter "*portal*" -Recurse -File | where-object {Length -gt 10 }
Get-ChildItem -Filter "*portal*" -Recurse -File | where-object {$_.size -gt 100 }
这些数字故意很低,因为我不确定正在使用哪些单位。
但什么都没有返回。
我正在尝试检查 cmdlet 的别名。我如何通过命令验证这一点?
我一直在尝试这种方式:
Get-Command -CommandType alias | Where-Object {$ _. Name-like "Copy-Item"}
Run Code Online (Sandbox Code Playgroud)
结果:

在 Windows 10 之前,可以VersionInfo通过右键单击文件并执行属性来获取所有字符串。那已经行不通了。这就像有人只决定展示几十年来获得标准含义的那些。但是 GUI 并不重要,只是注意到它不起作用,因此对属性页的 COM 调用将无济于事。无论如何,我们想知道如何从命令行。
尝试:
PS> get-childitem .\execautablename | FormatList VersionInfo
PS> (get-item .\execautablename | format-list -force)
PS> get-childitem .\execautablename | ? {$_.VersionInfo.Xyz}
cmd> wmic datafile where Name="C:\\Full\\Path\\to\\executablename.exe" list full
Run Code Online (Sandbox Code Playgroud)
第三个命令只能获取一些版本字符串,但不能获取我知道的其他版本字符串。
就像现在所有的方法都知道一个“标准”列表(有两个或三个关于标准列表的想法),并且它们都不知道如何枚举所有 VersionInfo 字符串。我有一个带有字符串“ProductHash”的二进制文件,它是用于编译它的相应源代码的 git commit hash。
我不断收到建议涉及的答案{$_.VersionInfo}。该路径永远不会起作用,因为VersionInfo相信要检索的 versioninfo 属性的固定列表。该rc编译器和VERSIONINFOPE结构不同的信。wmic 有一个不同的固定列表,它检索。
这是物业。它仅在应用由postanote链接的Fish 的VersInfoEx shell 扩展后才出现。
源代码片段(windows 资源):
#include <windows.h>
1 VERSIONINFO
FILEVERSION 10, 0, 0, 0
PRODUCTVERSION …Run Code Online (Sandbox Code Playgroud) 我在当前目录中有这样的文件:

现在我想2在它是偶数时添加到文件基名中。我的意思是我想要:
000252.png ? 000254.png
000254.png ? 000256.png
000256.png ? 000258.png
Run Code Online (Sandbox Code Playgroud)
换句话说,这是我想要的最终结果:

我如何使用PowerShell来实现这一点?
powershell ×10
windows-10 ×5
bash ×1
certificate ×1
chocolatey ×1
cmd.exe ×1
search ×1
version ×1
windows ×1