tft每日頭條

 > 生活

 > powershell開啟卓越性能命令

powershell開啟卓越性能命令

生活 更新时间:2024-07-17 05:50:01

PowerShell 中的加密和解密

powershell開啟卓越性能命令(中的加密和解密)1

除了保護敏感數據之外,PowerShell 還可以使用其他 cmdlet 功能,例如Invoke-Command或New-PSSession。在這篇簡短的文章中,我将向您展示在 PowerShell 中加密或解密數據是多麼容易,以及如何使用加密數據創建帳戶數據。

PowerShell 中的加密和解密

在 PowerShell中,ConvertTo-SecureString和ConvertFrom-SecureStringcmdlet可用于将标準字符串System.String加密和解密為System.Security.SecureString。

這是一個字符串被加密并存儲在變量中的示例:

data = "This is some extremely important data"$encryptedData=ConvertTo-SecureString-String $data -AsPlainText如果我們輸入包含加密字符串的變量的名稱,我們将看到它的類型System.Security.SecureString:

powershell開啟卓越性能命令(中的加密和解密)2

我們還可以解密存儲在System.Security.SecureString對象中的數據,如下所示:

ConvertFrom-SecureString-SecureString $encryptedData-AsPlainText為 PowerShell 憑據使用加密字符串

1.在某些情況下,以不同用戶身份運行 cmdlet 的能力可能是一項非常有用的功能。例如,設法獲取受感染用戶憑據的紅隊(專門從事黑客攻擊和破壞計算機和移動設備的黑客)可能會嘗試使用被盜憑據代表該用戶在遠程計算機上執行命令。

2.定義Credential參數的 cmdlet允許我們指定 cmdlet 應在其下運行的憑據。傳遞給Credential參數的值必須是PSCredential對象。為了讓我們創建一個PSCredential對象,我們需要用戶名和密碼作為安全字符串,這意味着我們需要對密碼進行加密。

3.為了安全地加密字符串,不建議在命令行上以明文形式提供密碼作為參數。這是因為 PowerShell 日志記錄或任何啟用的命令行日志記錄可以以明文形式記錄這些憑據,這是一個缺陷。

4.因此,應該從标準stdn讀取密碼并将其存儲在變量中。Read-Hostcmdlet允許您從标準流中讀取數據,它有一個AsSecureString參數,用于将從标準流中讀取的數據轉換為System.Security.SecureString。

powershell開啟卓越性能命令(中的加密和解密)3

使用以下 PowerShell 代碼,您可以從标準輸入讀取數據并将其作為安全字符串存儲在變量中:

$password = Read-Host -AsSecureString

然後我們可以獲取這個安全字符串并創建所需的PSCredential對象:

$Cred = New-Object System.Management.Automation.PSCredential("domain\user", $password)

我們現在可以将此PSCredential對象與允許我們指定Credential參數的 cmdlet 一起使用。以下是我使用我們創建的PSCredential在遠程WINRM機器上以不同用戶身份執行Invoke-Commandcmdlet 的方法:

Invoke-Command -Credential $Cred -ScriptBlock { whoami } -ComputerName 10.10.1.11

就這樣。我們弄清楚了PowerShel的加密和解密。希望這篇文章是有用的。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved