powershell - Powershell 使用远程连接返回不同的信息
问题描述
在 PowerShell 中的目标计算机上,我运行命令
$FolderSize =(Get-ChildItem "C:\Users\JDoe" -force -Recurse -ErrorAction SilentlyContinue | Measure-Object length -sum).sum
我得到一个 0.76 gb 的值,它准确地对应于磁盘上文件夹的压缩大小。但是,当我尝试在远程计算机上使用
$folderSize = Invoke-Command -ComputerName "computername" {(Get-ChildItem -Path "C:\Users\JDoe" -Recurse -force -ErrorAction SilentlyContinue | Measure-Object -Property Length -sum).sum}
我得到一个不同的,更大的数字,17 GB。
我尝试在 pssession 中运行第一个命令,但仍然得到 17gb 的结果。我也尝试过使用
psexec \\\computername powershell "(Get-ChildItem "C:\Users\JDoe" -force -Recurse -ErrorAction SilentlyContinue | Measure-Object length -sum).sum"
但仍然得到更大的数字。
我不明白为什么在本地检查时远程获得的结果与文件夹的实际大小不同。至少所有远程结果都是一致的,这告诉我他们都在测量同一件事。
解决方案
感谢所有的建议!最终,我选择使用 Sysinternals “du” 应用程序并在远程作业中捕获输出,以最大限度地减少网络流量。
再次感谢!
推荐阅读
- python - 将数值区间限制设置为 Matplotlib 中绘图函数的输入
- c++ - 使用 cpprestsdk 在 C++ 窗口中将字符串转换为无符号字符指针的问题
- solr - 在 Apache Solr 中操作复制字段的字段值
- android - 查找已弃用的 API
- javascript - 用于 Ajax 控制的部分的 Rails 5 javascript 行为奇怪,它无法初始化 bootstrap-star-rating 输入,因为它应该
- visual-c++ - ref 类和 gcnew 的含义
- c++ - 为什么 main 函数的 classObject.getSum() 应该返回 3,却返回总和为 0?
- python - 如何检查 QThread 中是否存在文件
- kubernetes - Kubernetes 获取完整的 pod 名称作为环境变量
- r - R:合并重复条目并按组有条件地选择日期