问题标签 [powershell-7.0]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
53 浏览

git - 在 cp C:\folder\ -Recurse 但在 cp C:\folder\* -Recurse 之后,git 不跟踪文件

不确定我做错了什么或误解了 git 中的一个特殊性,我有一个可以正常工作的本地存储库,但是当我使用将一些内容从外部复制到存储库中时

然后只有新文件夹显示为 'tracked',而不是该文件夹内的文件,尽管文件位于 repo 内的文件夹中;

只有当我这样做时,所有文件才会被“跟踪”

我错过了什么?

我正在使用 Windows 10 (20H2)、Windows Terminal (1.4.3243.0)、PowerShell 7.1.0 和 git 版本 2.28.0.windows.1


要重现它,请执行以下操作:

现在,第二种情况:

0 投票
2 回答
471 浏览

powershell - 无法进入远程 powershell 7.1 会话

能够针对Microsoft.PowerShell(5.1)执行此操作,但今天我在 5.1 上遇到了一个已知问题,Copy-Item因此我在远程服务器上安装了 PowerShell 7(在安装程序中选中“启用远程处理”)并试图让它工作。

以上作品。但是,如果我将 ConfigurationName 更改为 "PowerShell.7.1.0"我得到:

在远程服务器上,我在 7.1 powershell 中运行了 enable ps remoting 所以如果我运行Get-PSSessionConfiguration它会返回一堆配置,包括以下内容:

错误所指的dll存在于机器上。

我使用的用户凭据适用于远程计算机上的本地用户,该用户不是管理员,但属于该Remote Management Users组。

另外值得注意的是远程机器本身(作为不同的管理员本地帐户,我可以启动一个会话localhost)。

0 投票
0 回答
244 浏览

powershell - 在 PowerShell 7 中加载 [System.IO.MemoryMappedFiles]

我想在 PowerShell-7 上使用[System.IO.MemoryMappedFiles]和在 Windows 10 20H2 上运行的 .NetFramework 4.8(版本 528372);

并尝试将 DLL 加载到 PowerShell-7 控制台中。我的目标是使用[System.IO.MemoryMappedFiles]::CreateFromFile()创建大型二进制文件的视图。

以下基于Add-Type的“示例 3”和“示例 2”,并在 SO 中查看类似问题的答案,例如Unable to use System.IO.Compression.FileSystem.dll

但是,在PowerShell 7 (x64) 控制台上,Get-Member返回“无法找到类型”错误,如下所示。

当我运行$AccType = Add-Type -AssemblyName "System.IO.MemoryMappedFiles" -PassThru时,$AccType包含以下内容,

运行Add-Type命令后,当我进入

[系统.IO.内存

然后在 PS7 控制台输入 TAB 键,

[System.IO.MemoryMappedFiles

是自动完成的,但是当我进入时(请忽略下面的标题双引号。)

" [System.IO.MemoryMappedFiles]::

并输入 TAB 键,什么都没有完成。预加载的标准库,如

“[系统.IO.文件]::

完成方法

[System.IO.File]::AppendAllLine(

输入 TAB 键。

0 投票
1 回答
208 浏览

powershell - Powershell 并行处理:如何在全局变量中设置值

作为负载测试的一部分,我使用 10 个并行线程调用 API 500 次。我想在全局变量(脚本块范围外的计数器)中捕获 API 调用的结果,以便我可以进一步处理以进行验证。

示例-在下面的代码中,我想检查所有 500 API 调用是否成功。

PFB 代码片段-

0 投票
1 回答
195 浏览

powershell - 在 foreach-object 循环中填充一个空数组并导出 CSV

我终于得到了我的脚本的功能,现在我想保存到 CSV,我使用| Export-CSV -path .\output.csv -Delimiter ";". 但无法获得我需要的数据。

我正在创建一个全局空数组并尝试在foreach-object循环中附加项目但得到一个空的 CSV

我也在做我foraech-object的工作并管道 | Export-CSV -path .\output.csv -Delimiter ";"并获得一组随机数字

如何将我的数据输入 CSV?

我的脚本

0 投票
0 回答
15 浏览

macos - 在文本文件中查找特定文本,如果不存在则添加文本

我在我们的 Windows 机器上有一个 powershell 脚本,它查看一个配置文件 (.ini) 来查找特定的文本,如果该文本不存在,它将自动添加它。可悲的是,我无法找到使用 shell 脚本(.sh)在终端中执行此操作的方法

幸运的是,我们刚刚通过 Intune 将 PowerShell 7 部署到我们的 macOS 设备上,我希望能够创建一个在 Windows POSH 脚本中使用相同信息的 .sh。

我知道 $path 变量需要更新到它在 macOS 上的位置。已替换实际的证书信息。

Windows PowerShell 脚本

如何通过 Intune 从 .sh 中执行此操作?

0 投票
0 回答
30 浏览

powershell - PowerShell Parallels Jobs 速度改进

所以我终于让我的脚本工作了。耶耶!!!感谢所有帮助解决此问题的人.. 但现在我有一些问题希望您能提供一些答案

问题一

Get-ADComputer 我的ForEach-Object循环中,每次迭代时都会创建一个到 Active Directory 的新连接吗?我注意到如果你单独运行命令,我需要几秒钟来连接到 AD 并获取数据。有没有更好的方法(减少连接开销)?

问题二 这是否也影响到之前的问题?

因此,即使我并行运行,我注意到从 200 台 PC 检索数据需要超过 50 分钟这是否正常?

输出数据

我的脚本最终形式

0 投票
1 回答
1523 浏览

multithreading - 如何在 PowerShell 中并行运行命令

虽然这可能是重复的,但这是不同的。

我已经编写了一个脚本来使用 PowerShell 快速删除包含大量文件和子文件夹的文件夹,现在我将发布我是如何实现并行处理的,并设置一些示例:

功能:

制作一个测试文件夹并列出内容:

测试1:

我已经确认并行进程正在工作,但并行进程使用与单线程进程相同数量的资源:

Test2(在运行新测试之前重新制作测试文件夹):

而16个并行进程的删除速度并没有想象中单线程进程的16倍,结果如下:

测试1:

测试2:

我已经使用 start-job 进行了尝试:

而且我没有得到我的预期,它成功启动了 16 个实际上什么都不做的作业,所以我把它们全部停止了,我还注意到,“命令”中的变量 $filelist 不是绿色的......所以我没有'不知道函数是否未被识别或变量没有被传递......

而且我尝试了一种我在这里找到的方法: Powershell Start-Process to start Powershell session and pass local variables

有了这个:

我已经成功启动了 16 个黑色的 PowerShell 控制台 Windows,它们都显示了这个:

这意味着数字未通过,但这也意味着 $filelist 已成功传递(也许),我已经确认带有 scriptblock 的启动过程适用于一个变量,但它未能传递多个变量。

我也知道 Invoke-Expression,虽然我还没有尝试过。目前我认为 start-process 方法更像我想要的——如果我能让它工作的话。

就是这样,如何在n个并行进程中运行具有多个参数的自定义函数,并将多个变量传递给进程,并使它们彼此并发、独立、独立地运行,从而使并行进程的执行速度是产生相同结果的单线程进程的速度的 n 倍?

有人会帮助我吗?任何帮助,将不胜感激。我提前说谢谢。

PS 我在 Windows 10 20H2 上使用 PowerShell 7.1 x64。

更新:我已经尝试了 foreach -parallel:

它给了我 16 次这个错误信息:

所以函数没有被解析,变量也不是绿色的......

现在我已经尝试过:

它只是给了我这个错误:

请帮忙...

0 投票
1 回答
202 浏览

azure - 带有 PowerShell 7 的 Azure DSC

我正在尝试在 Azure 中自动化 DataGateway,最近在 powershell 7 中发布了库来管理它。但是 Azure DSC 与 Windows Powershell 5 一起使用的问题,即使 VM 已经安装了 powershell 7,它也无法正常工作。

有人可以建议一个正确的方法吗?

0 投票
2 回答
311 浏览

powershell - 在 NLog 配置文件中为 FileTarget 使用相对路径

我将 NLog 与 PowerShell 脚本一起使用,其中消息被记录到与脚本相关的目录中的文件中。

我希望能够在 Xml 配置文件中指定相对路径,但是这种语法不起作用:

目前,我正在这样做:

有没有办法在 XML 配置文件中使用相对路径?