问题标签 [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.
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
要重现它,请执行以下操作:
现在,第二种情况:
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
)。
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 键。
powershell - Powershell 并行处理:如何在全局变量中设置值
作为负载测试的一部分,我使用 10 个并行线程调用 API 500 次。我想在全局变量(脚本块范围外的计数器)中捕获 API 调用的结果,以便我可以进一步处理以进行验证。
示例-在下面的代码中,我想检查所有 500 API 调用是否成功。
PFB 代码片段-
powershell - 在 foreach-object 循环中填充一个空数组并导出 CSV
我终于得到了我的脚本的功能,现在我想保存到 CSV,我使用| Export-CSV -path .\output.csv -Delimiter ";"
. 但无法获得我需要的数据。
我正在创建一个全局空数组并尝试在foreach-object
循环中附加项目但得到一个空的 CSV
我也在做我foraech-object
的工作并管道 | Export-CSV -path .\output.csv -Delimiter ";"
并获得一组随机数字
如何将我的数据输入 CSV?
我的脚本
macos - 在文本文件中查找特定文本,如果不存在则添加文本
我在我们的 Windows 机器上有一个 powershell 脚本,它查看一个配置文件 (.ini) 来查找特定的文本,如果该文本不存在,它将自动添加它。可悲的是,我无法找到使用 shell 脚本(.sh)在终端中执行此操作的方法
幸运的是,我们刚刚通过 Intune 将 PowerShell 7 部署到我们的 macOS 设备上,我希望能够创建一个在 Windows POSH 脚本中使用相同信息的 .sh。
我知道 $path 变量需要更新到它在 macOS 上的位置。已替换实际的证书信息。
Windows PowerShell 脚本
如何通过 Intune 从 .sh 中执行此操作?
powershell - PowerShell Parallels Jobs 速度改进
所以我终于让我的脚本工作了。耶耶!!!感谢所有帮助解决此问题的人.. 但现在我有一些问题希望您能提供一些答案
问题一
在Get-ADComputer
我的ForEach-Object
循环中,每次迭代时都会创建一个到 Active Directory 的新连接吗?我注意到如果你单独运行命令,我需要几秒钟来连接到 AD 并获取数据。有没有更好的方法(减少连接开销)?
问题二 这是否也影响到之前的问题?
因此,即使我并行运行,我注意到从 200 台 PC 检索数据需要超过 50 分钟这是否正常?
输出数据
我的脚本最终形式
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 次这个错误信息:
所以函数没有被解析,变量也不是绿色的......
现在我已经尝试过:
它只是给了我这个错误:
请帮忙...
azure - 带有 PowerShell 7 的 Azure DSC
我正在尝试在 Azure 中自动化 DataGateway,最近在 powershell 7 中发布了库来管理它。但是 Azure DSC 与 Windows Powershell 5 一起使用的问题,即使 VM 已经安装了 powershell 7,它也无法正常工作。
有人可以建议一个正确的方法吗?
powershell - 在 NLog 配置文件中为 FileTarget 使用相对路径
我将 NLog 与 PowerShell 脚本一起使用,其中消息被记录到与脚本相关的目录中的文件中。
我希望能够在 Xml 配置文件中指定相对路径,但是这种语法不起作用:
目前,我正在这样做:
有没有办法在 XML 配置文件中使用相对路径?