标签: powershell

用于备份 SQL Server 数据库的 Powershell 命令

是否有 PowerShell 命令可以执行服务器上所有数据库的备份?

或者,我可以从 PowerShell 调用存储过程(将执行备份)?

powershell sql-server

9
推荐指数
2
解决办法
1862
查看次数

在 Windows 中重命名目录中所有文件的简单方法

有没有一种简单的方法可以重命名目录中的所有文件?PowerShell 是要走的路吗?

我想从这个开始:

c:\family_pics\
   img123.jpg
   img124.jpg
Run Code Online (Sandbox Code Playgroud)

对此:

c:\family_pics\ 
   family_pics_1.jpg 
   family_pics_2.jpg
Run Code Online (Sandbox Code Playgroud)

理想情况下,我想在一个目录上运行一个脚本,该脚本将根据当前目录的名称重命名所有文件,同时保留扩展名并递归遍历目录树。

windows powershell

9
推荐指数
2
解决办法
4万
查看次数

使用 Windows Powershell 创建具有权限的共享

使用 Powershell 如何创建共享并设置访问权限。

例如如下

  • 创建名为“public”的共享,映射到“路径 c:\shares\foo”
  • 允许 DOMAIN1\Users 对共享具有只读访问权限(这并不意味着在文件上设置 acls,而是在共享上)

windows powershell network-share

9
推荐指数
2
解决办法
4万
查看次数

脚本 - 如何断开远程桌面会话?

我正在寻找一种方法来关闭计算机(本地计算机)上的所有活动远程桌面会话。Windows 包含几个命令(rwinsta、qwinsta 等)来查看活动会话,但我不知道如何轻松使用这些信息(除非我解析字符串...)来关闭所有会话。

Powershell(或 C#、Batch)中有没有办法关闭本地计算机上的所有远程桌面会话?

谢谢,马丁

windows powershell windows-xp remote-desktop

9
推荐指数
2
解决办法
5万
查看次数

powershell 如何删除损坏的符号链接

PS C:\> cmd /c mklink /d testlink non-existent-dir
symbolic link created for testlink <<===>> non-existent-dir
PS C:\> rm .\testlink
Remove-Item : C:\testlink is a NTFS junction point. Use the Force parameter to delete or modify.
At line:1 char:3
+ rm <<<<  .\testlink
    + CategoryInfo          : WriteError: (C:\testlink:DirectoryInfo) [Remove-Item], IOException
    + FullyQualifiedErrorId : DirectoryNotEmpty,Microsoft.PowerShell.Commands.RemoveItemCommand

PS C:\> rm -force .\testlink
Remove-Item : Could not find a part of the path 'C:\testlink'.
At line:1 char:3
+ rm <<<<  -force .\testlink
    + CategoryInfo          : …
Run Code Online (Sandbox Code Playgroud)

powershell

9
推荐指数
1
解决办法
7033
查看次数

从控制台启动不同的 Powershell 控制台?

如果我在单个 powershell 控制台中工作,并说我想生成另一个 powershell 控制台窗口。

有没有办法做到这一点?

如果您在提示符下键入“powershell” - 它不会启动一个新窗口,只会在当前控制台窗口中启动一个新的 powershell 实例。

有什么想法吗?

powershell

9
推荐指数
1
解决办法
2万
查看次数

如何从 PowerShell 管理 COM+?

是否有用于管理 COM+ 组件的 PowerShell 模块或命令?特别是,我想:

  • 查询是否安装/注册了 COM+ 应用程序。
  • 启动或停止 COM+ 应用程序。
  • 安装/注册或卸载/取消注册 COM+ 应用程序。

我是 PowerShell 和 COM+ 的新手,所以可能使用了错误的术语(安装与注册等)。

powershell com+

9
推荐指数
1
解决办法
2万
查看次数

远程重命名域中的 Win 7 计算机

我很难弄清楚如何远程重命名 Windows 7 计算机。这是为了在 vSphere 5 环境中自动构建 Win 7,我正在尝试尽可能不干涉它。到目前为止,除了机器重命名自动化(或可自动化)之外,我已经设法获得了一切。

WinRM 正在工作,因此远程 powershell 方法确实有效。

invoke-command -computername "W7-Img3-RPT49VA" -scriptblock {commands go here; have another one}
Run Code Online (Sandbox Code Playgroud)

以上确实有效。我可以执行诸如获取目录列表和运行命令之类的操作。但是,更改域并没有奏效。根据这个 SF question,我在脚本块中尝试了以下内容:

$comp=get-wmiobject -class computersystem ; $comp.rename("W7-clone-42")
Run Code Online (Sandbox Code Playgroud)

ReturnValue : 5经过多次搜索后,返回结果为“拒绝访问”。该页面上的另一个建议:

wmic computersystem rename "W7-Clone-42"
Run Code Online (Sandbox Code Playgroud)

返回无用的“无效动词切换”。另一个互联网资源建议采用以下公式:

wmic computersystem where Name="W7-Img3-RPT49VA" call rename name="W7-clone-42"
Run Code Online (Sandbox Code Playgroud)

它交替给出无效动词开关或无效参数。作为测试,我直接在我的管理站上运行了上述命令,而不是通过,invoke-command并且也被拒绝访问。

走老路,我将 netdom 复制到目标机器。

netdom renamecomputer W7-Img3-RPT49VA /newname:W7-clone-42
Run Code Online (Sandbox Code Playgroud)

这给了我“拒绝访问”。

在这一切中,我一直在测试的凭据具有域管理员。目的是一旦我确定了可行的方法,就可以降低确切的 priv。目标机器上的安全事件日志肯定会在所有这些过程中显示成功登录。

通过 vSphere 系统自定义过程处理重命名的替代方法仍然可用。我什至有一个答案文件,但我不知道如何准备模板机以允许使用它。无论哪种方式都会让我得到我需要的东西。

我错过了什么?该wmic语法显然是错误的,但其他两个方法返回“拒绝访问”,所以我有它的低期望一次正确的语法,制定了工作。这是 UAC 交互问题吗?

automation powershell windows-7 vmware-vsphere

9
推荐指数
1
解决办法
1万
查看次数

在存储在磁盘上的情况下获取文件名?

我有一个文件README.TXT。如果我发出以下命令:

PS> Get-Item ReadMe.txt
Run Code Online (Sandbox Code Playgroud)

...然后它返回“ReadMe.txt”。我想找出磁盘上文件的实际名称,包括大小写。我如何让它返回“README.TXT”?

我之所以这么问,是因为我试图找出 Windows 上不区分大小写的文件名与 Unix 机器上的区分大小写文件的问题,我想获得 Windows 机器上使用的实际案例。

更多细节:我有一个文件列表(存储在.CSPROJ文件中),它们与存储在磁盘上的文件不同。我想确保它们匹配。例如:如果.CSPROJ文件显示“ReadMe.txt”,但磁盘上的文件是“README.TXT”,有时在 Visual Studio 中编辑文件会将文件重写为“ReadMe.txt”,这会混淆 Perforce,因为它是这样的-sensitive,并且文件名不再具有预期的大小写。我想编写一个脚本来发现不匹配的文件名,以便我可以在它们导致问题之前对其进行处理。

powershell

9
推荐指数
1
解决办法
1661
查看次数

如何使用 PowerShell 比较两台 Windows 服务器之间已安装的修补程序?

我需要使用 PowerShell 比较开发环境和生产环境之间已安装的补丁。我怎样才能做到这一点?

windows powershell

9
推荐指数
1
解决办法
9897
查看次数