标签: powershell

powershell 的 tmux/screen 替代方案

是否有替代 tmux/screen 的方法可以在 Windows 上使用 Powershell?我知道 Powerscreen,但它似乎已经死了很长时间。Cygwin 不能与 Powershell 一起使用,是吗?Console2是普城域网解决方案。

还有什么想法吗?

windows cygwin powershell tmux

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

如何使用 Windows 10 的新 OpenSSH 和 PowerShell 维护 ssh-agent 登录会话

在我的 Ubuntu 机器上,我只是使用 Keychain 来维护一个保持登录状态的 ssh-agent。

我想要类似于 Windows 上的东西,因为 OpenSSH 是本机包含的。我正在使用带有众所周知的if [ -z "$SSH_AUTH_SOCK" ] ; then ...脚本的Git Bash,但这导致许多 ssh 代理被打开,我知道有人建议不要这样做(部分原因是这篇博文:http : //rabexc.org/posts/pitfalls-of-ssh -agents ) - 这就是让我获得 Ubuntu 钥匙串的原因。不再使用它的另一个原因是我正在将 PowerShell 作为我的主要 shell。

但我不确定如何在 Windows 上专门使用 PowerShellWin32-OpenSSH实现同样的事情。

谢谢!

ssh powershell openssh windows-10 windows-10-v1803

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

在 PowerShell 中设置 $HOME

每次打开 powershell 时,如何将默认主目录更改为“C:\Users\khornsby”?

我正在运行 Windows 7。以下是有关我的环境状态的信息。

Windows PowerShell
版权所有 (C) 2009 Microsoft Corporation。版权所有。

PS P:\> cd ~
PS P:\>echo $HOME
P:\
附注:\> HOME="C:\Users\khornsby"
术语 'HOME=C:\Users\khornsby' 不被识别为 cmdlet 的名称,
函数、脚本文件或可运行的程序。检查名称的拼写,或
如果包含路径,请验证路径是否正确,然后重试。
在行:1 字符:25
+ HOME="C:\用户\khornsby" 

附注:\> Set-Variable HOME "C:\Users\khornsby"
设置变量:无法覆盖变量 HOME,因为它是只读的或
持续的。
在行:1 字符:13
+ 设置变量 

附注:\> dir env:home*

名称值
---- -----
主路径\
家庭驱动器 P:
HOMESHARE \\fileserv\khornsby$


附注:\>

windows windows-7 powershell environment-variables

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

默认 PowerShell 发出 UTF-8 而不是 UTF-16?

默认情况下,Windows 中的 PowerShell 似乎输出 UTF-16(例如,如果我执行简单的echo hello > hi.txthi.txt则以 UTF-16 结束)。我知道我可以通过代替执行将其强制为我想要的文本编码echo hello | out-file -encoding utf8 hi.txt,但我希望它只是我使用重定向运算符时的默认值。有没有办法实现这一目标?

powershell redirection character-encoding

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

不能递归排除目录模式

我正在尝试递归获取文件夹的子项。但是该文件夹包含噪声文件和文件夹(实际上,这是一个 Visual Studio 项目文件夹)。

这是我所拥有的:

$root = Get-Item C:\Projects\MyProject

$allItems =  Get-ChildItem $root -Recurse -exclude "**\pkgobj\*"
Run Code Online (Sandbox Code Playgroud)

但是,$allItems仍然包含与路径匹配的文件和文件夹。

我做错了什么?

更准确地说,我想同时获取文件夹和文件,而不是指定的文件夹及其任何后代。

我也试过:

foreach($item in $allItems){
    if($item.FullName -notmatch "pkgobj") {
        Write-Host -ForegroundColor Green $item.FullName.Replace($root,'')

    }
}
Run Code Online (Sandbox Code Playgroud)

但没有更多的成功

powershell

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

如何让 Windows 终端在每次将内容粘贴到终端时停止询问我?

每次我将某些内容粘贴到 Windows 终端时,我都会收到以下恼人的消息,该消息试图将我从自己的困境中拯救出来。

我不需要它!我怎样才能让它消失?

粘贴后,Windows 终端中间会出现以下消息的对话框,内容为:警告您将要粘贴包含多行的文本...等等等等...

windows powershell windows-10 windows-terminal

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

适用于 Windows 的 OpenSSH 的 known_hosts 文件在哪里?

我经常通过 SSH 登录的其中一台服务器更改了它的 IP 地址。所以,现在当我尝试通过 Windows Powershell 和 OpenSSH for Windows 使用 SSH 时,我收到了中间人攻击警告。

在 linux 机器上,我只会从~/.ssh/known_hosts. 但是,该~/.ssh目录似乎是空的。

Powershell/OpenSSH 的 known_hosts 文件在哪里?我已签入C:\Program Files\OpenSSH\home\anschauung\.ssh,但该文件夹也是空的。

ssh powershell

33
推荐指数
2
解决办法
15万
查看次数

使用批处理文件切换默认音频设备

我正在尝试在 Windows 10 上编写一个批处理文件,该文件允许我在运行时在耳机和扬声器之间切换作为默认音频设备。我不想使用任何第三方软件。

我尝试四处搜索,但我只找到了似乎不起作用的旧脚本,并且还引用了HKCU:\Software\Microsoft\Windows\CurrentVersion\Applets\Volume Control\一条似乎不再存在的路径。我在 Windows 10 寄存器上找不到任何关于此的信息,如果我不确定自己在做什么,我也不喜欢过多地摆弄寄存器。

audio windows-registry powershell cmd.exe windows-10

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

Invoke-WebRequest 和 Invoke-RestMethod 有什么区别?

我已经成功地使用Invoke-WebRequest从 PowerShell 向基于 REST 的 API 发布请求。

Invoke-WebRequest -UseBasicParsing https://my-rest-api.com/endpoint -ContentType "application/json" -Method POST -Body $json
Run Code Online (Sandbox Code Playgroud)

今天我遇到了Invoke-RestMethod听起来更贴切地命名我正在做的事情。有什么区别,是否有理由使用一个而不是另一个?

windows powershell web http api

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

如何让 get-childitem 过滤多种文件类型?

我正在尝试获取目录中所有 XSL 和 XSLT 文件的列表。

dir -recurse -filter *.xsl,*.xslt -name
Run Code Online (Sandbox Code Playgroud)

但出现以下错误:

Get-ChildItem:无法将“System.Object[]”转换为参数“Filter”所需的类型“System.String”。不支持指定的方法。

dir -recurse -filter *.xsl -filter *.xslt -name
Run Code Online (Sandbox Code Playgroud)

但是得到了这个错误:

Get-ChildItem:无法绑定参数,因为多次指定了参数“过滤器”。要为可以接受多个值的参数提供多个值,请使用数组语法。例如,“-parameter value1,value2,value3”。

我可以用一个命令列出两个文件扩展名吗?

powershell

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