标签: powershell

OpenSSH for Windows 的版本信息和更新

OpenSSH for Windows我想更新on的预安装版本Windows 1903,因为该版本7.2p1存在一些问题,据报道这些问题已在v 8.0.0.0.

我按照更新 OpenSSH for Windows上提供的指南和链接进行操作 ,随后进行了 Powershell 更新

然而,当ssh -V在 Powershell 中输入时,我得到的是,, OpenSSH_for_Windows_7.7p1而不是8.0.0.0我所期望的。OpenSSH我检查了环境变量,它们都指向Program Files. 早期版本曾在不同的地方,但现在已经不存在了。

当我尝试sshd安装服务的文件版本时,我得到8.0.0.0,但ssh -V仍然返回7.7p1。我应该担心这个版本不匹配吗?

windows ssh powershell openssh

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

使用 PowerShell(或 CMD)删除 PDF 密码

这是此 Ubuntu 问题的示例副本

我有许多用密码加密发送给我的 PDF 文件,为了简单起见,所有 PDF 的密码都是相同的。当我将这些文件存储在永久存档中时,我没有理由保留密码,也没有理由在每次打开这些文件时都输入密码。

我可以使用链接的问答来构建基于 Docker 的解决方案,以从 pdf 文件中删除密码,或者我可以在此处询问 Windows 10 是否可以实现同样的操作。

choco如果我需要一些包裹,我可以访问。

pdf powershell passwords windows-10

5
推荐指数
1
解决办法
6550
查看次数

使用 PowerShell 下载并解压存档

使用 PowerShell 5.1,如何下载tar.xz存档并解压而不先将其写入磁盘?

所有这些尝试:

Invoke-WebRequest https://www.examle.com/archive.tar.xz -UseBasicParsing | 7z x -si
(Invoke-WebRequest https://www.examle.com/archive.tar.xz -UseBasicParsing).ToString() | 7z x -si
(Invoke-WebRequest https://www.examle.com/archive.tar.xz -UseBasicParsing).Content | 7z x -si
(Invoke-WebRequest https://www.examle.com/archive.tar.xz -UseBasicParsing).RawContent | 7z x -si
Run Code Online (Sandbox Code Playgroud)

给出这个错误:

7-Zip 19.00 (x64) : Copyright (c) 1999-2018 Igor Pavlov : 2019-02-21

Extracting archive:
ERROR:
Can not open encrypted archive. Wrong password?

Not implemented

Can't open as archive: 1
Files: 0
Size:       0
Compressed: 0
Run Code Online (Sandbox Code Playgroud)

这有效:

Invoke-WebRequest https://www.examle.com/archive.tar.xz -UseBasicParsing -OutFile temp.tar.xz
7z x temp.tar.xz
Run Code Online (Sandbox Code Playgroud)

powershell wget tar curl 7-zip

5
推荐指数
1
解决办法
4526
查看次数

PowerShell 远程处理:WinRM 客户端无法处理请求

我使用以下命令在远程计算机上设置远程 PowerShell 访问:

Enable-PSRemoting -Force
Set-Item wsman:\localhost\Client\TrustedHosts -value '*' -Force
Get-Item wsman:\localhost\Client\TrustedHosts

   WSManConfig: Microsoft.WSMan.Management\WSMan::localhost\Client

Type            Name                           SourceOfValue   Value
----            ----                           -------------   -----
System.String   TrustedHosts                   GPO             *
Run Code Online (Sandbox Code Playgroud)

他们似乎工作得很好。

但是,当尝试打开 PowerShell 会话时,我收到以下错误:

New-PSSession -ComputerName 10.155.40.10
New-PSSession : [10.155.40.10] Connecting to remote server 10.155.40.10 failed with the following error message : The WinRM client cannot process the request. If the authentication scheme is different from Kerberos, or if the client computer is not joined to a domain, then HTTPS transport must be used …
Run Code Online (Sandbox Code Playgroud)

networking remote-desktop powershell command-line

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

将“set”转换为小写

我正在处理一个需要昵称(但要大写)的 .bat 文件

set /p nickname="Please enter your uppercase name!:
Run Code Online (Sandbox Code Playgroud)

我想知道我是否可以使蝙蝠存储原始(大写)昵称和全小写昵称。

所以我可以这样做

%nickname%\files\avatar\1.png
Run Code Online (Sandbox Code Playgroud)

或者

%nickname_lowercase%\files\avatar\1.png
Run Code Online (Sandbox Code Playgroud)

我不想向用户询问小写昵称,我只是希望它将用户输入的内容转换为小写并将其存储在“集合”或其他内容中。有点复杂,抱歉没能解释清楚。

powershell batch-file cmd.exe

5
推荐指数
1
解决办法
8405
查看次数

Windows 上等效的“grep”和“sed”命令

我正在使用我拥有的域进行一些测试,我希望在执行 TXT 查询时,接收 Base64 中的字符串并对其进行解码以显示消息。

在 Linux 上,它可以完美运行:

$ dig -t txt my.domain.com +short | sed -e 's/^"//' -e 's/"$//' | base64 -d > file.txt
$ cat file.txt
Run Code Online (Sandbox Code Playgroud)

测试我的txt记录

现在我想做同样的事情,只不过在Windows中,默认情况下Windows没有dig,但它有一个命令如下:

C:\Users\User\xyz>powershell Resolve-DnsName my.domain.com -Type
TXT > test

C:\Users\Avell\xyz>type test

Name                                     Type   TTL   Section    Strings
----                                     ----   ---   -------    -------
my.domain.com                       TXT    10557 Answer    
{dGVzdGluZyBvdXQgbXkgdHh0IHJlY29yZHMK}
Run Code Online (Sandbox Code Playgroud)

我怎样才能使上面的命令(Linux)在Windows上工作,只进行base64的搅拌和解码来显示消息。

windows powershell

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

如何从命令行启动 Windows 10 应用程序?

在互联网的其他地方,有人建议启动“Windows 10 应用程序”(又名 UWP 应用程序)的“最佳”方式是通过新的 explorer.exe 进程,使用“shell:”协议(如果尚未注册,则为自己的协议)

param([string]$AppName)

$Path="shell:appsfolder\"+(Get-AppXPackage | where{$_.Name -match "$AppName"} | select -expandproperty packagefamilyname)+"!App"

return $Path
Run Code Online (Sandbox Code Playgroud)

但是,调用此脚本会导致

PS C:\Users\RyanLeach\Documents\WindowsPowerShell\Scripts> $ShareX = ./findapp.ps1 ShareX

PS C:\Users\RyanLeach\Documents\WindowsPowerShell\Scripts> $ShareX
shell:appsfolder\19568ShareX.ShareX_egrzcvs15399j!App

PS C:\Users\RyanLeach\Documents\WindowsPowerShell\Scripts> Start-Process -FilePath $ShareX
Start-Process : This command cannot be run due to the error: The system cannot find the file specified.
At line:1 char:1
+ Start-Process -FilePath $ShareX
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [Start-Process], InvalidOperationException
    + FullyQualifiedErrorId : InvalidOperationException,Microsoft.PowerShell.Commands.StartProcessCommand
Run Code Online (Sandbox Code Playgroud)

那么如何通过命令行/PowerShell 传递参数来启动应用商店应用程序(桌面或 UWP)?

powershell cmd.exe windows-10

5
推荐指数
1
解决办法
3999
查看次数

Windows 10 在开机时自动以管理员身份运行 powershell 脚本

我需要在计算机重新启动时以管理员身份运行 powershell 脚本。我们通常无法访问管理员帐户(因此我们不能只是定期输入管理员凭据),但管理员将与我们合作,看看我们是否可以将其添加为......管理员启动任务?组策略?

有办法做到这一点吗?显然,管理员最初会登录来进行设置,但我们需要它以管理员身份运行,而不必每次都要求用户提供管理员凭据。

windows powershell administrator

5
推荐指数
1
解决办法
7758
查看次数

ssh 进入 windows 10 powershell 并且没有获得管理员权限

对于 ssh 我习惯了 unix 系统。我有“sudo”权限,但是当我 ssh 进入我的帐户时,我不是管理员,我只是普通用户。要执行任何管理操作,我必须“sudo”

\n\n

本地也是如此。我打开一个终端,我不是管理员。我只是一个普通用户。

\n\n

即使在 Windows 10 中,如果启动 powershell,我也没有管理员权限。为了获得管理员权限,我必须专门打开并管理 powershell。默认没有管理员权限。

\n\n

我最近在 Windows 10 上使用 powershell 设置了 ssh,但是当我 ssh 进入 shell 时,它说具有管理员权限

\n\n
(New-Object Security.Principal.WindowsPrincipal(\n  [Security.Principal.WindowsIdentity]::GetCurrent())\n).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)\nTrue\n
Run Code Online (Sandbox Code Playgroud)\n\n

我怎样才能让它的行为与我在本地启动一个没有管理员权限的 powershell 一样?

\n\n

如果我的桌面上不清楚,我会打开命令提示符并键入pwsh,但我不是管理员

\n\n
Microsoft Windows [Version 10.0.18363.900]\n(c) 2019 Microsoft Corporation. All rights reserved.\n\nC:\\Users\\gregg>pwsh\nPowerShell 7.0.1\nCopyright (c) Microsoft Corporation. All rights reserved.\n\nhttps://aka.ms/powershell\nType \'help\' to get help.\n\nLoading personal and system profiles took 620ms.\n\xe2\x9d\xaf (New-Object Security.Principal.WindowsPrincipal(\n>>   [Security.Principal.WindowsIdentity]::GetCurrent())\n>> ).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)\nFalse\n
Run Code Online (Sandbox Code Playgroud)\n\n

再次执行此操作,除了 ssh 到本地主机,但不知何故我是管理员

\n\n
Microsoft …
Run Code Online (Sandbox Code Playgroud)

ssh powershell windows-10

5
推荐指数
1
解决办法
4984
查看次数

具有长文件名的文件显示为空

我对 Windows 不太熟悉,所以请耐心等待。

我有一个文件夹,其中有几个文件名很长的文件,可以正常列出,但如果我尝试使用任何 Windows 应用程序打开它们,它们会显示为空(通过 file:/// 尝试过 Atom、VS Code、Notepad++ 和 Chrome) )。

如果我从终端(Git Bash 和 Powershell)捕获它们,它们可以毫无问题地显示。

向上移动目录,使完整路径更短,解决了问题。

我非常困惑为什么会发生这种情况。至少我预计会出现某种“文件名太长”的异常,当然我没想到它们会假装工作并且只是显示为空。

所以问题是:这是预期/已知的行为吗?或者也许有什么东西正在打破一切?(就像,我不知道,一个不支持长名称的防病毒软件,即使应用程序支持)。

请注意,至少有一个应用程序 (Atom) 是针对 64 位编译的,以防万一。

powershell google-chrome bash notepad++ windows-10

5
推荐指数
0
解决办法
420
查看次数