草庐IT

powerShell

全部标签

windows - 将文件夹结构和子目录/文件导出到文本

我正在尝试将我的可移植硬盘的文件夹结构及其文件导出到一个文本文件,以便进行异地访问。我希望能够将我的音乐文件夹(100GB+)的文件夹结构复制到一个文本文件中,包括嵌套文件夹中的文件。注意:我只想复制文件夹及其子目录和文件的结构和布局,而不是实际文件。我做了一些搜索,发现PowerShell中使用了以下命令来实现我想要的输出,但它没有给我子文件夹内的文件列表。命令是:Get-ChildItem|tree>Music_Structure.txt我想要文本文件中类似于以下输出的内容。C:.├───Music│├───Eminem││└───TheEminemShow││└───01Curt

windows - 使用 Remote Registry Service 访问所有用户注册表

我目前正在开发一个PowerShell工具,该工具可通过远程注册表服务远程读取注册表。当用户登录时,我正在读取的数据位于HKCU\Software\中。显然,当一台计算机有多个用户帐户时,HKCU将无法准确反射(reflect)所有用户。是否有一种动态方式可以让我遍历计算机上的所有用户并访问他们的注册表?目前我正在PowerShell中执行以下操作:$KeyType=[Microsoft.Win32.RegistryHive]::CurrentUser$BaseRegKey=[Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey($KeyTyp

windows - 如何在 Windows 上的 powershell 上执行 sudo

每当我需要运行powershell脚本时,它都会提示安全问题,如果我添加powershell.exe-nologo-executionpolicybypass-File.\install.ps1我仍然会得到权限被拒绝的未授权访问异常。我只想运行这个安装脚本,sudo相当于在Windows上的powershell上键入什么? 最佳答案 如果您使用的是Chocolatey(一个包管理器),您可以安装一个名为sudo的包。然后就可以像Linux一样使用sudo? 关于windows-如何在Wi

windows - 如何在 Powershell 上只获取服务器的正常运行时间?

我有以下代码,当我直接在powershell中使用时它可以工作:Get-WmiObjectwin32_operatingsystem|select@{LABEL=’LastBootUpTime’;EXPRESSION={$_.ConverttoDateTime($_.lastbootuptime)它返回:LastBootUpTime--------------14/09/201910:41:50但是当我在Powershell脚本.ps1中使用带有invoke-command的命令时,输出会返回更多信息:LastBootUpTimePSComputerNameRunspaceId----

windows - 如何查找 checkout 的文件

我正在使用VisualSourceSafe6.0d(工作要求),我一直在尝试编写一个小的shell脚本,以允许我轻松删除源代码树或在我checkout文件时警告我,所以我可以确保我不会不小心删除工作。除了检查文件本身的只读位之外,还有什么方法可以判断文件是否已checkout?VSS似乎没有写入任何文件(我在checkout文件之前和之后拍摄了目录快照,列出的文件没有区别)我似乎无法通过谷歌搜索找到任何东西。我还检查了vssver.scc的差异,但没有发现任何差异。请注意,检查可写文件并不是世界上最糟糕的事情,但似乎VSS使源代码树中的几个文件(*.ncb、*.scc、*.sln)在我

.net - 是否有标准的 DateTime 字符串表示形式作为 Windows 文件名有效并且可以使用 DateTime.Parse 进行解析?

作为简单备份过程的一部分,我想保存名称指示备份日期和时间的文件。现在我正在使用yyyyMMddTHHmmss,即“20100601T115720”。我希望能够解析这些日期以允许清理早于特定日期的文件。(备份日期时间不必与文件创建日期相同。)这最终在Powershell中运行,使用类似于以下内容的行:Get-ChildItem$backupDirectory-filter*.bak|where{[System.DateTime]::ParseExact([System.IO.Path]::GetFileNameWithoutExtension($_),"yyyyMMddTHHmmss",

windows - PowerShell:按可执行名称重启服务

全部我实现了我的第一个PowerShell脚本,该脚本执行一些设置、设置注册表项,最后需要重新启动服务。问题是我只有可执行文件的名称,但没有服务名称。Restart-Service只能与服务名称一起使用。谷歌搜索(还有Binging)并没有给我太多结果。我想知道有没有办法通过可执行名称重启服务?我知道我可以通过可执行文件名称获取进程,但仅仅终止进程并重新启动它并不是一个好的选择,因为服务启动/停止函数未被调用并且它可能无法正常工作。谢谢。 最佳答案 您可以尝试使用wmi并执行如下操作:(gwmiwin32_service|?{$_.

windows - 在 Windows 中重命名多个文件的命令或脚本

我的硬盘上有大约400部电影,但这些电影的名称之间包含点或下划线,例如“wrong_turn.mkv”或“wrong.turn.mkv”。我只想从文件名中删除这些点或特殊字符并保持扩展名不变。任何命令行命令或Powershell/Python或任何其他Windows脚本?谢谢。 最佳答案 如果您的两个文件位于同一个目录中,那么从第一个文件中删除_会起作用,但是当您尝试从第二个文件中删除点时,它将失败,因为它的名称与第一个。也许这是一个边缘案例,所以这是基本的解决方案:Get-ChildItem-Filter*.mkv|Rename-

windows - 在后台运行的启动脚本

我有以下bat文件:@echooffstart/minpowershell"&'C:\Admin\c.ps1'"exit我不想显示powershell窗口,因为这是一个在启动时运行的管理脚本。我的印象是使用start/min会解决它,但它仍然显示。 最佳答案 PowrShell有一个隐藏的启动开关。也就是说,控制台可能会在短时间内可见,直到消失。由于这是一个管理脚本,我还建议使用NonInteractive开关来防止有人干扰它@echooffpowershell-NonInteractive-FileC:\Admin\c.ps1ex

windows - 如何让我的控制台窗口出现在不同的位置?

当我打开任何控制台窗口时,无论是PowerShell还是命令提示符,它总是出现在我左显示器的最左侧。这离我的眼睛太远了,也离我想要的地方太远了。无论我将它拖到中心还是退出或关闭窗口,它总是重新出现在错误的位置。有什么方法可以让它可靠地出现在我离开它的地方吗? 最佳答案 按照这个:-打开cmd.exe或Powershell.exe右键单击顶部框架并选择属性在Layout选项卡中,找到WindowPosition选项取消选中让系统定位窗口;输入您的选择并....微笑:)..... 关于win