nev*_*ath 4 powershell amazon-s3 amazon-web-services
我尝试使用多个网站和视频中的基本命令,但安装 AWS.Tools.Installer 和 AWS.Tools.S3 后,在尝试使用命令时出现相同的错误:
Set-Awscredentials : The term 'Set-Awscredentials' is not recognized
as the name of a cmdlet, function, script file, or operable program.
Check the spelling of the name, or if a path was included, verify that
the path is correct and try again. At line:1 char:1
+ Set-Awscredentials
+ ~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (Set-Awscredentials:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
Run Code Online (Sandbox Code Playgroud)
我在我们的实验室中有多台新镜像的计算机,运行Windows 10 Enterprise LTSC 2019 build 1809,所有这些计算机的结果都是相同的。以下是我从管理提示符运行的命令(按照运行顺序),并且它们完成时没有问题:
Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force
Set-PSrepository PSGallery -InstallationPolicy Trusted
Set-ExecutionPolicy Unrestricted -Force
Install-Module -Name AWS.Tools.Installer -Force -Confirm:$false -AllowClobber -Scope AllUsers
Install-AWSToolsModule -Name AWS.Tools.S3 -CleanUp -Confirm:$false -Verbose -Force
Get-Module -ListAvailable | ? Name -Like 'AWS.Tools.*'
Run Code Online (Sandbox Code Playgroud)
另外值得注意的是,我实际上在 try/catch 语句中运行了它们,其中 catch 退出,但为了简洁起见,我没有包含该代码。这些计算机未加入域,因此意外的 GPO 设置不会影响它们。
在上面的脚本中,我将 AWS.Tools.S3 作为 Verbose 执行,以下是其输出:
VERBOSE: [Install-AWSToolsModule] ConfirmPreference=None WhatIfPreference=False VerbosePreference=Continue Force=True
Name=(AWS.Tools.S3) RequiredVersion= SkipUpdate=False CleanUp=False
VERBOSE: [Find-AWSToolsModule] ConfirmPreference=None WhatIfPreference=False VerbosePreference=Continue
Name=(AWS.Tools.S3) VERBOSE: [Find-AWSToolsModule] End
VERBOSE: [Install-AWSToolsModule] Installing AWS Tools version 4.1.11.0
VERBOSE: [Install-AWSToolsModule] Searching installed modules
VERBOSE: [Install-AWSToolsModule] Removing already installed modules from the. Final list of modules to install:
(AWS.Tools.S3)
VERBOSE: [Install-AWSToolsModule] Create folder for temporary repository C:\Windows\TEMP\q3a2lhx5.t03
VERBOSE: [Install-AWSToolsModule] Registering temporary repository AWSToolsTemp
VERBOSE: [Install-AWSToolsModule] Downloading modules to temporary repository
VERBOSE: [Install-AWSToolsModule] Downloading modules (AWS.Tools.S3)
VERBOSE: [Install-AWSToolsModule] Downloading module AWS.Tools.S3 to C:\Windows\TEMP\q3a2lhx5.t03
VERBOSE: [Get-AWSToolsModuleDependenciesAndValidate] ConfirmPreference=None WhatIfPreference=False
VerbosePreference=Continue Name=AWS.Tools.S3 Path=C:\Windows\TEMP\q3a2lhx5.t03\AWS.Tools.S3.4.1.11.0.nupkg
VERBOSE: [Get-AWSToolsModuleDependenciesAndValidate] Manifest signature correctly validated
VERBOSE: [Get-AWSToolsModuleDependenciesAndValidate] Found dependency AWS.Tools.Common
VERBOSE: [Get-AWSToolsModuleDependenciesAndValidate] End
VERBOSE: [Install-AWSToolsModule] Downloading module AWS.Tools.Common to C:\Windows\TEMP\q3a2lhx5.t03
VERBOSE: [Get-AWSToolsModuleDependenciesAndValidate] ConfirmPreference=None WhatIfPreference=False
VerbosePreference=Continue Name=AWS.Tools.Common Path=C:\Windows\TEMP\q3a2lhx5.t03\AWS.Tools.Common.4.1.11.0.nupkg
VERBOSE: [Get-AWSToolsModuleDependenciesAndValidate] Manifest signature correctly validated
VERBOSE: [Get-AWSToolsModuleDependenciesAndValidate] End
VERBOSE: [Install-AWSToolsModule] Installing modules (AWS.Tools.S3) Installing module AWS.Tools.S3 version 4.1.11.0
VERBOSE: [Install-AWSToolsModule] Modules install complete
VERBOSE: [Install-AWSToolsModule] Unregistering temporary repository AWSToolsTemp
VERBOSE: [Install-AWSToolsModule] Delete repository folder C:\Windows\TEMP\q3a2lhx5.t03
VERBOSE: [Install-AWSToolsModule] End
Run Code Online (Sandbox Code Playgroud)
运行后,我尝试了以下操作来确认它们位于正确的目录中:
ls 'C:\Program Files\WindowsPowerShell\Modules'
ls 'C:\Users\Kiosk\Documents\WindowsPowerShell\Modules'
Write-Host '-----------------------------------------------------------------------'
Get-Module -ListAvailable | ? Name -Like 'AWS.Tools.*'
Run Code Online (Sandbox Code Playgroud)
这就是它给我的:
Directory: C:\Program Files\WindowsPowerShell\Modules
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 4/22/2021 11:02 AM AWS.Tools.Installer
d----- 9/15/2018 3:33 AM Microsoft.PowerShell.Operation.Validation
d----- 4/22/2021 11:02 AM PackageManagement
d----- 9/15/2018 3:33 AM Pester
d----- 4/22/2021 11:02 AM PowerShellGet
d----- 9/15/2018 3:33 AM PSReadline
d----- 9/4/2020 5:05 PM PSWindowsUpdate
-----------------------------------------------------------------------
Name : AWS.Tools.Installer
Path : C:\Program Files\WindowsPowerShell\Modules\AWS.Tools.Installer\1.0.2.1\AWS.Tools.Installer.psd1
Description : The AWS.Tools.Installer module makes it easier to install, update and uninstall other AWS.Tools
modules (see https://www.powershellgallery.com/packages/AWS.Tools.Common/).
You can use a single command like 'Install-AWSToolsModule EC2,S3' to install multiple modules.
You can also update all your installed AWS.Tools modules and remove old versions by running
`Update-AWSToolsModule -CleanUp`.
Guid : 450031c1-9177-4fc1-9518-93166b1a926b
Version : 1.0.2.1
ModuleBase : C:\Program Files\WindowsPowerShell\Modules\AWS.Tools.Installer\1.0.2.1
ModuleType : Script
PrivateData : {PSData}
AccessMode : ReadWrite
ExportedAliases : {}
ExportedCmdlets : {}
ExportedFunctions : {[Uninstall-AWSToolsModule, Uninstall-AWSToolsModule], [Install-AWSToolsModule,
Install-AWSToolsModule], [Update-AWSToolsModule, Update-AWSToolsModule]}
ExportedVariables : {}
NestedModules : {}
Run Code Online (Sandbox Code Playgroud)
我尝试使用以下命令运行 AWS 安装程序模块
powershell -NoProfile -command 'Install-AWSToolsModule -Name AWS.Tools.S3 -CleanUp -Confirm:$false -Verbose -Force'
Run Code Online (Sandbox Code Playgroud)
尽管在我运行第一个脚本之前,这些机器上从未运行过任何 powershell。看起来 S3 模块没有安装,我看不出原因。我对这个已经束手无策了。有人看到我缺少什么吗?谢谢!
另外,这是我的 $PSVersionTable:
Name Value
---- -----
PSVersion 5.1.17763.1007
PSEdition Desktop
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
BuildVersion 10.0.17763.1007
CLRVersion 4.0.30319.42000
WSManStackVersion 3.0
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
Run Code Online (Sandbox Code Playgroud)
尽管您可以下载并安装 PS AWS 工具,但您已经可以通过 MS powershellgallery.com 使用它们(如 AWS PS 工具网站 - https://aws.amazon.com/powershell上所述)。
https://www.powershellgallery.com/packages/AWS.Tools.Common/4.1.11.0
Run Code Online (Sandbox Code Playgroud)
从您的活动 PS 实例(VSCode/ISE/Consolehost/Windows 终端)中,只需键入...
Install-Module -Name AWS.Tools.Common
Run Code Online (Sandbox Code Playgroud)
...或者如果您想精挑细选,请从活动的 PS 实例 (VSCode/ISE/Consolehost/Windows Terminal) 中键入(请耐心等待,有很多) ...
Find-Module -Name '*AWS*' |
Where-Object -Property Author -eq 'Amazon.com Inc' |
Sort-Object -Property Version
Format-Table -AutoSize
# Results
<#
Version Name Repository Description
------- ---- ---------- -----------
1.0.2.1 AWS.Tools.Installer PSGallery The AWS.Tools.Installer module makes it easier to install,...
2.0.0.0 AWSLambdaPSCore PSGallery The AWS Lambda Tools for Powershell can be used to create ...
4.1.11.0 AWSPowerShell PSGallery The AWS Tools for Windows PowerShell lets developers and...
4.1.11.0 AWS.Tools.MarketplaceCatalog PSGallery The MarketplaceCatalog module of AWS Tools for PowerShe...
4.1.11.0 AWS.Tools.WorkMailMessageFlow PSGallery The WorkMailMessageFlow module of AWS Tools for PowerShe...
4.1.11.0 AWS.Tools.ComputeOptimizer PSGallery The ComputeOptimizer module
...
#>
Run Code Online (Sandbox Code Playgroud)
...查看它们,并以正常方式安装它们...
$InstallAwsModules = 'Whatever Module name/Names you choose as a list'
$InstallAwsModules |
ForEach {
Find-Module -Name $PSItem
Save-Module -Path "$env:USERPROFILE\\Documents\WindowsPowerShell\Modules" -Force
Install-Module -Name $PSItem
}
Run Code Online (Sandbox Code Playgroud)
正如您所尝试的那样,您可以使用 AWS 安装程序工具。然而,这样做的理由为零......
Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force
Run Code Online (Sandbox Code Playgroud)
...,由于 PSGet 是 PowerShell 的包管理器,并且已经利用了 NuGet,...
为了确保您使用的是最新的包管理器,请运行此...
powershell.exe -NoLogo -NoProfile -Command 'Install-Module -Name PackageManagement -Force -MinimumVersion 1.4.6 -Scope CurrentUser -AllowClobber'
Run Code Online (Sandbox Code Playgroud)
...所以再次安装NuGet是多余的,而且没有必要这样做...
powershell -NoProfile -command 'Install-AWSToolsModule -Name AWS.Tools.S3 -CleanUp -Confirm:$false -Verbose -Force'
Run Code Online (Sandbox Code Playgroud)
...,只需下载 AWS PS zip,打开 Windows 资源管理器,解锁它,然后安装模块。
| 归档时间: |
|
| 查看次数: |
8219 次 |
| 最近记录: |