标签: powershell

检测 PowerShell 是否以管理员身份运行

如何在脚本中判断 PowerShell 是否以管理员权限运行?

我需要知道,因为我正在尝试运行一个需要能够打开受保护端口的程序。

powershell

55
推荐指数
3
解决办法
4万
查看次数

如何使用 powershell(不是 mklink.exe)在 Windows 10 中创建新的符号链接?

如果上面有文档,我会接受。任何网络搜索“符号链接”“符号链接”“windows [10]”“powershell”都会返回除基本命令之外的所有内容。

即使是 powershell docs 站点也没有返回任何内容。这不可能吗?

powershell windows-10

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

将 Windows PowerShell 配置为在 shell 提示中仅显示当前文件夹名称

我在 Windows 7 上使用 PowerShell。如何配置 PowerShell 使其仅在 shell 提示中显示当前文件夹名称(而不是完整路径)?

例如,C:\folder\directory\name>我想要name>.

windows-7 powershell

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

用于 Windows 的 pbcopy?

在 MacOSX 中,有一个命令可以将命令的输出通过管道传输到剪贴板,以便将其粘贴到 GUI 中的其他位置。

如何从 cmd.exe 或使用 PowerShell cmdlet 完成此操作?

windows powershell command-line

54
推荐指数
3
解决办法
3万
查看次数

无法将 powershell 默认字体更改为 Lucida Console

这是一个微不足道的问题,但让我烦恼的是我无法深入了解它:

我正在运行 Windows 8,Powershell 3.0 版。通过右键单击标题栏,我可以进入属性并更改字体、大小、背景颜色等,没有任何问题。

关闭并重新启动 Powershell 后,我所做的所有更改都保留下来,除非我将字体设置为 Lucida Console,然后在重新打开时我会得到 Raster 字体。

(请注意,以上所有内容都适用于我以管理员身份运行 Powershell 的情况。)

所以:

  • 如果我将字体设置为 Lucida,那么它会在剩余的会话中切换到 Lucida。
  • 如果我将字体设置为 Lucida 以外的任何字体,则在关闭并重新打开后它会保持不变。
  • 如果我更改窗口大小或文本颜色或其他任何内容,重新打开后更改仍然存在。
  • 说顺心的事情是,如果我设置字体为Lucida,切换到“光栅字体”当我重新打开。
  • 但是 cmd 和 powershell ISE 没有这个问题——只有 powershell 控制台。

任何人都可以建议可能会出什么问题吗?

(我所做的一个观察是,在将字体设置为 Lucida 后重新打开 Powershell 时,起初窗口的宽度是字体为 Lucida 时的宽度,但一秒钟后,它会稍微变宽以适应光栅字体。)

fonts powershell

53
推荐指数
3
解决办法
3万
查看次数

以编程方式将文件扩展名与 Windows 上的应用程序相关联

我最近刚刚重新安装了 Windows,在设置我的环境时,我注意到我在 Notepad++ 中编辑的各种编程语言的所有关联(自然地)都消失了。

我在考虑未来,拥有某种批处理文件可以通过单击按钮自动将选择的文件扩展名与 N++ 相关联,而不是等到我遇到所有这些扩展名时,这不是很棒吗?经历导航到 N++ exe 等的繁琐。

我无法Default Programs使用 Windows 7 附带的实用程序执行此操作,因为它仅适用于已“遇到”的扩展。

那么是否有可能以编程方式将文件扩展名与 Windows 上的应用程序相关联?

windows powershell batch file-association file-extension

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

为什么 Powershell 会默默地将包含一项的字符串数组转换为字符串

考虑以下 Powershell 脚本,该脚本在 C:\ 中搜索名称中带有“og”的文件夹:

PS C:\> (ls | %{$_.Name} | ?{$_.Contains("og")})
性能日志
程序文件
设置日志

现在我缩小搜索范围,只得到一项:

PS C:\> (ls | %{$_.Name} | ?{$_.Contains("Prog")})
程序文件

奇怪的是,第一个操作产生一个array,而第二个操作(恕我直言,语义上是相同的操作,所以它应该产生相同类型的结果)产生一个string。这可以在以下结果中看到:

PS C:\> (ls | %{$_.Name} | ?{$_.Contains("og")}).Length
3
PS C:\> (ls | %{$_.Name} | ?{$_.Contains("Prog")}).Length
13

这可能非常令人恼火,因为显然匹配“og”的文件夹比匹配“Prog”的文件夹少。

显然,PowerShell 隐式地将单项数组“拆箱”为单个对象,我们永远不会得到长度为 1 的数组。似乎每次我想计算管道中的结果时,我都必须检查我是否“ m 是否处理数组。

我怎样才能防止这种情况发生?你如何处理这个问题?

powershell pipe

51
推荐指数
2
解决办法
3万
查看次数

从 cmd 运行 powershell 命令

我如何从 cmd 运行此命令:

powershell.exe "(get-process | ? {$_.Description -eq "Sysinter Process Explorer"}) | select processname | out-file $env:APPDATA\example.txt"

我仍然收到此错误:

您必须在“-eq”运算符的右侧提供一个值表达式。在 line:1 char:37 + (get-process | ? {$_.Description -eq <<<< Sysinternals Process Explorer}) | 选择进程名| 输出文件 $env:APPDATA\example.txt + CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException +fullyQualifiedErrorId : ExpectedValueExpression

windows powershell command-line process cmd.exe

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

Windows PowerShell 和 Unix/Linux 的终端一样强大吗?

Windows PowerShell和 Linux 一样强大和高效terminal吗?

离线人员告诉我,Windows PowerShell 试图让 Unix 管理员在使用 Windows 时感觉更舒服,但没有做太多解释。但我想,只有当它具有(或几乎)相同的效率时,他们才会感到舒适。

linux terminal powershell

50
推荐指数
2
解决办法
11万
查看次数

在执行之前,如何通过命令行设置可执行文件的工作目录?

如果我在命令行上运行一个程序,其位置是通过Path环境变量解析的,则该程序的工作目录通常设置为其安装目录。

我想从控制台窗口运行这样的程序并将其工作目录设置为当前或其他显式目录。我可以通过将程序临时复制到我的工作目录来做到这一点——在 cmd.exe 或 powershell.exe 环境中是否有另一种方法来实现这一点?

与此任务类似的 Windows shell 是创建一个快捷方式并相应地设置“开始于”属性。

windows powershell command-line .net-framework

48
推荐指数
2
解决办法
10万
查看次数