首頁 Visual Studio 建置事件
文章
Cancel

Visual Studio 建置事件

前言

Hello World

如下

1
Write-Host "Hello World"

簡單PowerShell指令

Desktop View Desktop View

1
powershell.exe –command "Get-Service | Export-CSV c:\temp\service.csv"

複雜PowerShell指令

只要有使用到function跟variable的動作都算複雜的操作指令

在這種情況下只能把複雜的操作寫進ps1檔,接著再使用執行指定ps1檔這種簡單指令做觸發

如下

1
powershell.exe -Command "if (Test-Path "C:\Users\user\Downloads\My.ps1") {powershell.exe -ExecutionPolicy Bypass -File "C:\Users\user\Downloads\My.ps1"} else { Write-Host "檔案不存在"}"

有時會碰到需要使用最高權限執行PowerShell的情況

這種情況需要使用最高權限開啟VS,才能成功重建,所以會再PoweShell指令中,加入判斷當前啟動權限,判斷完後再執行動作

My.ps1的內容如下

1
2
3
4
5
6
7
8
9
10
11
12
13
function CheckRunAsAdmin {
    $currentUser = [System.Security.Principal.WindowsIdentity]::GetCurrent()
    $principal = New-Object Security.Principal.WindowsPrincipal($currentUser)

    return $principal.IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)
}

$isAdmin = CheckRunAsAdmin
Write-Host $isAdmin # False代表一般權限 True代表最高權限
if($isAdmin) 
{
#To do SomeThing
}
本文由作者按照 CC BY 4.0 進行授權