以下のスクリプトの画像をテーブルの右上隅に合わせたいと思います。現在、テーブルの上の左に揃えられていますが、これは可能ですか?また、固定タイトルのテーブルの幅にまたがるテーブルの上部に追加のタイトル行を追加したいと思いますが、これはテーブルを壊すことなく可能ですか?テーブルの画像を整列してタイトルヘッダ行を追加してください
#Set variables
$image = "C:\Scriptrepository\XXXXX.gif"
$ImageBits = [Convert]::ToBase64String((Get-Content $image -Encoding Byte))
$ImageHTML = "<img src=data:image/gif;base64,$($ImageBits) alt=XXXXX;/>"
$CurrentDate = Get-Date -Format F
$Post = "<br><br> Members of $ADGroupName <br> Generated on $CurrentDate"
#Function for alternating table colour rows
function global:Set-AlternatingRows {
[CmdletBinding()]
Param(
[Parameter(Mandatory, ValueFromPipeline)]
[string]$Line,
[Parameter(Mandatory)]
[string]$CSSEvenClass,
[Parameter(Mandatory)]
[string]$CSSOddClass
)
Begin {
$ClassName = $CSSEvenClass
}
Process {
if ($Line.Contains("<tr><td>")) {
$Line = $Line.Replace("<tr>","<tr class=""$ClassName"">")
if ($ClassName -eq $CSSEvenClass) {
$ClassName = $CSSOddClass
} else {
$ClassName = $CSSEvenClass
}
}
return $Line
}
}
#Function to validate request and create variable from input
function global:GetADGroupMembersrecursively {
Write-Host "Enter Distribution List/AD Group name:" -ForegroundColor Green
$global:ADGroupName = Read-Host
if ([string]::IsNullOrEmpty($ADGroupName)) {
cls
Write-Host -ForegroundColor red "Cannot be blank, please re-enter AD Group/distribution list name" | Out-Null
GetADGroupMembersRecursively
}
$global:DLCheck = DSQuery group -Name "$ADGroupName"
if ($DLCheck -eq $null) {
cls
Write-Host -ForegroundColor red "Did not find AD Group/Distribution List, please verify this is the correct name" | Out-Null
GetADGroupMembersRecursively
}
}
GetADGroupMembersRecursively
$Head = @"
<style>
BODY {font-family: Arial; font-size: 8pt; color: #4C607B;}
TABLE{margin: auto; font-family: Segoe UI; box-shadow: 10px 10px 5px #888; width: 100%;height :50px;}
TH, TD {border: 1px solid #ffffff; border-collapse: collapse;padding: 3px;}
TH {font-size: 1.2em; background-color: #003366; color: #ffffff; }
TD {color: #000000; }
.even { background-color: #efefef; }
.odd { background-color: #c0c0c0; }
TR { background: #b8d1f3; }
H4 {font-family: Arial; font-size: 12pt; color: #4C607B;align=right;}
H5 {font-family: Arial; font-size: 8pt; color: #4C607B;align=right;}
</style>
"@
#Table creation
Get-ADGroupMember -Identity $ADGroupName -Recursive |
Get-ADUser -pr GivenName, Surname, mail, sAMAccountName |
Select-Object GivenName, Surname, mail, sAMAccountName |
sort Surname |
ConvertTo-Html -Head $head -Body $ImageHTML -PostContent $Post -As Table |
Set-AlternatingRows -CSSOddClass odd -CSSEvenClass even |
Out-File C:\ScriptRepository\Results\$ADGroupName.htm
Invoke-Item C:\ScriptRepository\Results\$ADGroupName.htm
まず、_RESULT_がどうあるべきかうまく - 何HTMLやCSSあなたが望む出力を提供しますか?一度それを持っていれば、それを生成するPowerShellコードを書くことはかなり簡単です。 –
これは、ADルックアップからテーブルを生成します。テーブルは、テーブルの上にある画像の位置と、テーブルの上部にある行を追加するだけで問題なく動作します。 –
適切なHTMLとCSSを使用して、必要なように見えるようにダミーテーブルを使用してWebページを構築します。必要に応じて手作業で行います。たとえ「実際の」データがなくても、正しいと思われるものがほしいだけです。次に、これを目安にして、ADルックアップから作成しているテーブルを囲むために、スクリプトがどのHTMLとCSSを生成するかを検討する必要があります。 –