これは本当に困惑しています。私はAD属性名に基づいてチェックボックスを持つWindowsフォームを持っています。一度OKを実行します。
$ADVARIABLES = @()
Get-Variable -Name OBJ* | ?{ $_.Value.Checkstate -eq 1 } | %{ $ADVARIABLES += $_.Value.Name }
属性名を取得します。
私が実行した場合:
Get-ADUser -Filter * -Property $ADVARIABLES | select $ADVARIABLES
は、私が見ることを期待したい結果の種類を取得します。
私が実行している場合:
Get-ADComputer -Filter * -Property $ADVARIABLES | select $ADVARIABLES
私が取得:
は、Get-ADComputerを:パラメータ 'プロパティ' に引数を検証することはできません。引数がnullまたは空です。ヌルまたは空でない引数を指定してから、コマンドを再試行してください。 Get-AdUserのための私のチェックボックスに
の属性が含まれます:PC用
メール、マネージャ、部門、タイトル、CanonicalName、電話、携帯電話、のHomeDirectory
属性は次のとおりです。
SamAccountName、CanonicalName、IPv4Address、Enabled、OperatingSystem
アイデア? $ADVARIABLES
タグには不正な属性はまったくありません。それはバーンの王様の痛みです。
EDIT:
はここでいっぱいでスクリプトです。コンピュータではなくADユーザーのためにうまくいきます。
# Adds .NET assemby's and turns on visual themes in standard PowerShell.
Add-Type -AssemblyName System.Drawing
Add-Type -AssemblyName System.Windows.Forms
[System.Windows.Forms.Application]::EnableVisualStyles()
# Creates the parent form
$ADREPORT = New-Object System.Windows.Forms.Form
$ADREPORT.Location = New-Object System.Drawing.Size(270,175)
$ADREPORT.Size = New-Object System.Drawing.Size(800,400)
$ADREPORT.StartPosition = "CenterScreen"
$ADREPORT.BackColor = "Lavender"
$ADREPORT.Font = "Calibri, 8.5"
# This creates a label for the title
$ADHEADER = New-Object System.Windows.Forms.Label
$ADHEADER.Location = New-Object System.Drawing.Size(30,20)
$ADHEADER.Size = New-Object System.Drawing.Size(180,20)
$ADHEADER.Font = New-Object System.Drawing.Font("Calibri",11,[System.Drawing.FontStyle]::Bold)
$ADHEADER.Text = "Choose your attributes"
$ADREPORT.Controls.Add($ADHEADER)
# This creates a label for the sub-header
$ADTEXT = New-Object System.Windows.Forms.Label
$ADTEXT.Location = New-Object System.Drawing.Size(30,50)
$ADTEXT.Size = New-Object System.Drawing.Size(300,40)
$ADTEXT.Text = "From the list below, select as many attributes as you like to generate a CSV report:"
$ADREPORT.Controls.Add($ADTEXT)
# Active Directory Users label
$OBJUSERTXT = New-Object System.Windows.Forms.Label
$OBJUSERTXT.Location = New-Object System.Drawing.Size(20,100)
$OBJUSERTXT.Size = New-Object System.Drawing.Size(80,20)
$OBJUSERTXT.Text = "USERS:"
$ADREPORT.Controls.Add($OBJUSERTXT)
# Active Directory Users checkbox - Checked by default
$USERBOX = New-Object System.Windows.Forms.Checkbox
$USERBOX.Location = New-Object System.Drawing.Size(100,98)
$USERBOX.Size = New-Object System.Drawing.Size(20,20)
$USERBOX.TabIndex = 0
$USERBOX.Checked = $TRUE
$ADREPORT.Controls.Add($USERBOX)
# Active Directory Computers label
$PCXT = New-Object System.Windows.Forms.Label
$PCXT.Location = New-Object System.Drawing.Size(150,100)
$PCXT.Size = New-Object System.Drawing.Size(80,20)
$PCXT.Text = "COMPUTERS:"
$ADREPORT.Controls.Add($PCXT)
# Active Directory Computers checkbox
$OBJPCBOX = New-Object System.Windows.Forms.Checkbox
$OBJPCBOX.Location = New-Object System.Drawing.Size(230,98)
$OBJPCBOX.Size = New-Object System.Drawing.Size(20,20)
$OBJPCBOX.TabIndex = 9
$ADREPORT.Controls.Add($OBJPCBOX)
# SamAccountName label
$OBJ01TXT = New-Object System.Windows.Forms.Label
$OBJ01TXT.Location = New-Object System.Drawing.Size(20,120)
$OBJ01TXT.Size = New-Object System.Drawing.Size(80,20)
$OBJ01TXT.Text = "Username:"
$ADREPORT.Controls.Add($OBJ01TXT)
# SamAccountName checkbox
$OBJ01BOX = New-Object System.Windows.Forms.Checkbox
$OBJ01BOX.Location = New-Object System.Drawing.Size(100,118)
$OBJ01BOX.Size = New-Object System.Drawing.Size(20,20)
$OBJ01BOX.TabIndex = 1
$OBJ01BOX.Checked = $TRUE
$OBJ01BOX.Name = "SamAccountName"
$ADREPORT.Controls.Add($OBJ01BOX)
# Full Name label
$OBJ02TXT = New-Object System.Windows.Forms.Label
$OBJ02TXT.Location = New-Object System.Drawing.Size(20,140)
$OBJ02TXT.Size = New-Object System.Drawing.Size(80,20)
$OBJ02TXT.Text = "Full name:"
$ADREPORT.Controls.Add($OBJ02TXT)
# Full Name checkbox
$OBJ02BOX = New-Object System.Windows.Forms.Checkbox
$OBJ02BOX.Location = New-Object System.Drawing.Size(100,138)
$OBJ02BOX.Size = New-Object System.Drawing.Size(20,20)
$OBJ02BOX.TabIndex = 2
$OBJ02BOX.Name = "Name"
$ADREPORT.Controls.Add($OBJ02BOX)
# First Name label
$OBJ03TXT = New-Object System.Windows.Forms.Label
$OBJ03TXT.Location = New-Object System.Drawing.Size(20,160)
$OBJ03TXT.Size = New-Object System.Drawing.Size(80,20)
$OBJ03TXT.Text = "First name:"
$ADREPORT.Controls.Add($OBJ03TXT)
# First Name checkbox
$OBJ03BOX = New-Object System.Windows.Forms.Checkbox
$OBJ03BOX.Location = New-Object System.Drawing.Size(100,158)
$OBJ03BOX.Size = New-Object System.Drawing.Size(20,20)
$OBJ03BOX.TabIndex = 3
$OBJ03BOX.Name = "GivenName"
$ADREPORT.Controls.Add($OBJ03BOX)
# Surname label
$OBJ04TXT = New-Object System.Windows.Forms.Label
$OBJ04TXT.Location = New-Object System.Drawing.Size(20,180)
$OBJ04TXT.Size = New-Object System.Drawing.Size(80,20)
$OBJ04TXT.Text = "Surname:"
$ADREPORT.Controls.Add($OBJ04TXT)
# Surname checkbox
$OBJ04BOX = New-Object System.Windows.Forms.Checkbox
$OBJ04BOX.Location = New-Object System.Drawing.Size(100,178)
$OBJ04BOX.Size = New-Object System.Drawing.Size(20,20)
$OBJ04BOX.TabIndex = 4
$OBJ04BOX.Name = "Surname"
$ADREPORT.Controls.Add($OBJ04BOX)
# Department label
$OBJ05TXT = New-Object System.Windows.Forms.Label
$OBJ05TXT.Location = New-Object System.Drawing.Size(20,200)
$OBJ05TXT.Size = New-Object System.Drawing.Size(80,20)
$OBJ05TXT.Text = "Department:"
$ADREPORT.Controls.Add($OBJ05TXT)
# Department checkbox
$OBJ05BOX = New-Object System.Windows.Forms.Checkbox
$OBJ05BOX.Location = New-Object System.Drawing.Size(100,198)
$OBJ05BOX.Size = New-Object System.Drawing.Size(20,20)
$OBJ05BOX.TabIndex = 5
$OBJ05BOX.Name = "Department"
$ADREPORT.Controls.Add($OBJ05BOX)
# Job Title label
$OBJ06TXT = New-Object System.Windows.Forms.Label
$OBJ06TXT.Location = New-Object System.Drawing.Size(20,220)
$OBJ06TXT.Size = New-Object System.Drawing.Size(80,20)
$OBJ06TXT.Text = "Job Title:"
$ADREPORT.Controls.Add($OBJ06TXT)
# Job Title checkbox
$OBJ06BOX = New-Object System.Windows.Forms.Checkbox
$OBJ06BOX.Location = New-Object System.Drawing.Size(100,218)
$OBJ06BOX.Size = New-Object System.Drawing.Size(20,20)
$OBJ06BOX.TabIndex = 6
$OBJ06BOX.Name = "Title"
$ADREPORT.Controls.Add($OBJ06BOX)
# Manager Label
$OBJ07TXT = New-Object System.Windows.Forms.Label
$OBJ07TXT.Location = New-Object System.Drawing.Size(20,240)
$OBJ07TXT.Size = New-Object System.Drawing.Size(80,20)
$OBJ07TXT.Text = "Manager:"
$ADREPORT.Controls.Add($OBJ07TXT)
# Manager checkbox
$OBJ07BOX = New-Object System.Windows.Forms.Checkbox
$OBJ07BOX.Location = New-Object System.Drawing.Size(100,238)
$OBJ07BOX.Size = New-Object System.Drawing.Size(20,20)
$OBJ07BOX.TabIndex = 7
$OBJ07BOX.Name = "Manager"
$ADREPORT.Controls.Add($OBJ07BOX)
# IP Address label
$OBJ18TXT = New-Object System.Windows.Forms.Label
$OBJ18TXT.Location = New-Object System.Drawing.Size(20,280)
$OBJ18TXT.Size = New-Object System.Drawing.Size(80,20)
$OBJ18TXT.Text = "IP Address:"
$ADREPORT.Controls.Add($OBJ18TXT)
# IP Address checkbox
$OBJ18BOX = New-Object System.Windows.Forms.Checkbox
$OBJ18BOX.Location = New-Object System.Drawing.Size(100,278)
$OBJ18BOX.Size = New-Object System.Drawing.Size(20,20)
$OBJ18BOX.TabIndex = 19
$OBJ18BOX.Name = "IPv4Address"
$OBJ18BOX.Enabled = $FALSE
$ADREPORT.Controls.Add($OBJ18BOX)
# Home Drive Label
$OBJ09TXT = New-Object System.Windows.Forms.Label
$OBJ09TXT.Location = New-Object System.Drawing.Size(150,120)
$OBJ09TXT.Size = New-Object System.Drawing.Size(80,20)
$OBJ09TXT.Text = "Home Drive:"
$ADREPORT.Controls.Add($OBJ09TXT)
# Home Drive Checkbox
$OBJ09BOX = New-Object System.Windows.Forms.Checkbox
$OBJ09BOX.Location = New-Object System.Drawing.Size(230,118)
$OBJ09BOX.Size = New-Object System.Drawing.Size(20,20)
$OBJ09BOX.TabIndex = 10
$OBJ09BOX.Name = "HomeDirectory"
$ADREPORT.Controls.Add($OBJ09BOX)
# Email label
$OBJ10TXT = New-Object System.Windows.Forms.Label
$OBJ10TXT.Location = New-Object System.Drawing.Size(150,140)
$OBJ10TXT.Size = New-Object System.Drawing.Size(80,20)
$OBJ10TXT.Text = "Email:"
$ADREPORT.Controls.Add($OBJ10TXT)
# Email checkbox
$OBJ10BOX = New-Object System.Windows.Forms.Checkbox
$OBJ10BOX.Location = New-Object System.Drawing.Size(230,138)
$OBJ10BOX.Size = New-Object System.Drawing.Size(20,20)
$OBJ10BOX.TabIndex = 11
$OBJ10BOX.Name = "Mail"
$ADREPORT.Controls.Add($OBJ10BOX)
# Phone label
$OBJ11TXT = New-Object System.Windows.Forms.Label
$OBJ11TXT.Location = New-Object System.Drawing.Size(150,160)
$OBJ11TXT.Size = New-Object System.Drawing.Size(80,20)
$OBJ11TXT.Text = "Phone:"
$ADREPORT.Controls.Add($OBJ11TXT)
# Phone checkbox
$OBJ11BOX = New-Object System.Windows.Forms.Checkbox
$OBJ11BOX.Location = New-Object System.Drawing.Size(230,158)
$OBJ11BOX.Size = New-Object System.Drawing.Size(20,20)
$OBJ11BOX.TabIndex = 12
$OBJ11BOX.Name = "OfficePhone"
$ADREPORT.Controls.Add($OBJ11BOX)
# Mobile phone label
$OBJ12TXT = New-Object System.Windows.Forms.Label
$OBJ12TXT.Location = New-Object System.Drawing.Size(150,180)
$OBJ12TXT.Size = New-Object System.Drawing.Size(80,20)
$OBJ12TXT.Text = "Mobile:"
$ADREPORT.Controls.Add($OBJ12TXT)
# Mobile phone checkbox
$OBJ12BOX = New-Object System.Windows.Forms.Checkbox
$OBJ12BOX.Location = New-Object System.Drawing.Size(230,178)
$OBJ12BOX.Size = New-Object System.Drawing.Size(20,20)
$OBJ12BOX.TabIndex = 13
$OBJ12BOX.Name = "MobilePhone"
$ADREPORT.Controls.Add($OBJ12BOX)
# Created label
$OBJ13TXT = New-Object System.Windows.Forms.Label
$OBJ13TXT.Location = New-Object System.Drawing.Size(150,200)
$OBJ13TXT.Size = New-Object System.Drawing.Size(80,20)
$OBJ13TXT.Text = "Creation Date:"
$ADREPORT.Controls.Add($OBJ13TXT)
# Created checkbox
$OBJ13BOX = New-Object System.Windows.Forms.Checkbox
$OBJ13BOX.Location = New-Object System.Drawing.Size(230,198)
$OBJ13BOX.Size = New-Object System.Drawing.Size(20,20)
$OBJ13BOX.TabIndex = 14
$OBJ13BOX.Name = "Created"
$ADREPORT.Controls.Add($OBJ13BOX)
# Modified label
$OBJ14TXT = New-Object System.Windows.Forms.Label
$OBJ14TXT.Location = New-Object System.Drawing.Size(150,220)
$OBJ14TXT.Size = New-Object System.Drawing.Size(80,20)
$OBJ14TXT.Text = "Modified Date:"
$ADREPORT.Controls.Add($OBJ14TXT)
# Modified checkbox
$OBJ14BOX = New-Object System.Windows.Forms.Checkbox
$OBJ14BOX.Location = New-Object System.Drawing.Size(230,218)
$OBJ14BOX.Size = New-Object System.Drawing.Size(20,20)
$OBJ14BOX.TabIndex = 15
$OBJ14BOX.Name = "Modified"
$ADREPORT.Controls.Add($OBJ14BOX)
# Password label
$OBJ15TXT = New-Object System.Windows.Forms.Label
$OBJ15TXT.Location = New-Object System.Drawing.Size(150,240)
$OBJ15TXT.Size = New-Object System.Drawing.Size(80,20)
$OBJ15TXT.Text = "Password Set:"
$ADREPORT.Controls.Add($OBJ15TXT)
# Password checkbox
$OBJ15BOX = New-Object System.Windows.Forms.Checkbox
$OBJ15BOX.Location = New-Object System.Drawing.Size(230,238)
$OBJ15BOX.Size = New-Object System.Drawing.Size(20,20)
$OBJ15BOX.TabIndex = 16
$OBJ15BOX.Name = "PasswordLastSet"
$ADREPORT.Controls.Add($OBJ15BOX)
# Enabled label
$OBJ08TXT = New-Object System.Windows.Forms.Label
$OBJ08TXT.Location = New-Object System.Drawing.Size(150,260)
$OBJ08TXT.Size = New-Object System.Drawing.Size(80,20)
$OBJ08TXT.Text = "Enabled Status:"
$ADREPORT.Controls.Add($OBJ08TXT)
# Enable checkbox
$OBJ08BOX = New-Object System.Windows.Forms.Checkbox
$OBJ08BOX.Location = New-Object System.Drawing.Size(230,258)
$OBJ08BOX.Size = New-Object System.Drawing.Size(20,20)
$OBJ08BOX.TabIndex = 17
$OBJ08BOX.Name = "Enabled"
$ADREPORT.Controls.Add($OBJ08BOX)
#This creates a label for the 18th attribute - Operating System
$OBJ17TXT = New-Object System.Windows.Forms.Label
$OBJ17TXT.Location = New-Object System.Drawing.Size(150,280)
$OBJ17TXT.Size = New-Object System.Drawing.Size(80,20)
$OBJ17TXT.Text = "OS:"
$ADREPORT.Controls.Add($OBJ17TXT)
#This creates the checkbox for the 18th attribute - Operating System
$OBJ17BOX = New-Object System.Windows.Forms.Checkbox
$OBJ17BOX.Location = New-Object System.Drawing.Size(230,278)
$OBJ17BOX.Size = New-Object System.Drawing.Size(20,20)
$OBJ17BOX.TabIndex = 18
$OBJ17BOX.Name = "OperatingSystem"
$OBJ17BOX.Enabled = $FALSE
$ADREPORT.Controls.Add($OBJ17BOX)
# OU Label
$OBJ16TXT = New-Object System.Windows.Forms.Label
$OBJ16TXT.Location = New-Object System.Drawing.Size(20,260)
$OBJ16TXT.Size = New-Object System.Drawing.Size(80,20)
$OBJ16TXT.Text = "OU:"
$ADREPORT.Controls.Add($OBJ16TXT)
# OU Checkbox
$OBJ16BOX = New-Object System.Windows.Forms.Checkbox
$OBJ16BOX.Location = New-Object System.Drawing.Size(100,258)
$OBJ16BOX.Size = New-Object System.Drawing.Size(20,20)
$OBJ16BOX.TabIndex = 8
$OBJ16BOX.Name = "CanonicalName"
$ADREPORT.Controls.Add($OBJ16BOX)
# OK Button
$OK = New-Object System.Windows.Forms.Button
$OK.Location = New-Object System.Drawing.Size(30,315)
$OK.Size = New-Object System.Drawing.Size(75,23)
$OK.ForeColor = "Green"
$OK.Text = "OK"
$OK.DialogResult = "OK"
$OK.add_Click({ $ADREPORT.Close() })
$ADREPORT.Controls.Add($OK)
# Cancel button
$CANCEL = New-Object System.Windows.Forms.Button
$CANCEL.Location = New-Object System.Drawing.Point(160,315)
$CANCEL.Size = New-Object System.Drawing.Size(75,23)
$CANCEL.ForeColor = "Red"
$CANCEL.Text = "Cancel"
$CANCEL.DialogResult = "Cancel"
$ADREPORT.Controls.Add($CANCEL)
# If PC checkbox ticked, grey out user specific attributes
$OBJPCBOX.Add_CheckStateChanged({
IF ($OBJPCBOX.Checked)
{ $USERBOX.Checked = $FALSE # AD User box
$OBJ02BOX.Enabled = $FALSE ; $OBJ02BOX.Checked = $FALSE # Full name
$OBJ03BOX.Enabled = $FALSE ; $OBJ03BOX.Checked = $FALSE # First name
$OBJ04BOX.Enabled = $FALSE ; $OBJ04BOX.Checked = $FALSE # Surname
$OBJ05BOX.Enabled = $FALSE ; $OBJ05BOX.Checked = $FALSE # Department
$OBJ06BOX.Enabled = $FALSE ; $OBJ06BOX.Checked = $FALSE # Job Title
$OBJ07BOX.Enabled = $FALSE ; $OBJ07BOX.Checked = $FALSE # Manager
$OBJ09BOX.Enabled = $FALSE ; $OBJ09BOX.Checked = $FALSE # HomeDirectory
$OBJ10BOX.Enabled = $FALSE ; $OBJ10BOX.Checked = $FALSE # Mail
$OBJ11BOX.Enabled = $FALSE ; $OBJ11BOX.Checked = $FALSE # Phone
$OBJ12BOX.Enabled = $FALSE ; $OBJ12BOX.Checked = $FALSE # Mobile
$OBJ17BOX.Enabled = $TRUE ; $OBJ18BOX.Enabled = $TRUE } # OS & IP Address
# IF User box ticked, untick PC box and un-grey user specific attributes
IF ($OBJPCBOX.Checked -eq $FALSE)
{ $USERBOX.Checked = $TRUE ; $OBJ02BOX.Enabled = $TRUE
$OBJ03BOX.Enabled = $TRUE ; $OBJ04BOX.Enabled = $TRUE
$OBJ05BOX.Enabled = $TRUE ; $OBJ06BOX.Enabled = $TRUE
$OBJ07BOX.Enabled = $TRUE ; $OBJ09BOX.Enabled = $TRUE
$OBJ10BOX.Enabled = $TRUE ; $OBJ11BOX.Enabled = $TRUE
$OBJ12BOX.Enabled = $TRUE
$OBJ17BOX.Enabled = $FALSE ; $OBJ18BOX.Enabled = $FALSE }
}) # CLOSES $OBJPCBOX.Add_CheckStateChanged({
# IF user box ticked, untick PC box
$USERBOX.Add_CheckStateChanged({
IF ($USERBOX.Checked -eq $TRUE)
{ $OBJPCBOX.Checked = $FALSE } })
# Launch the checkbox form.
$ADREPORT.Add_Shown({ $ADREPORT.Activate() })
# When you've pressed ok...
# /// If you choose ADUsers then first create two empty variables; populate $ADVAIRABLES with the name of each checkbox
# ticked.
# Perform an unfiltered search of Active Directory users and select just the attributes from the checkboxes. This
# is measured for visual feedback.
# If the Manager attribute is checked, this comes back in DN form (CN=Graham Jordan,OU=Users,DC=DOMAIN,DC=LOCAL),
# so run a Get-Aduser against each DN to bring back the full name.
# The manager conversion is wrapped up in Write-Progress to give you a visual impression of how far into the change,
# since this takes a while.
# If the OU attribute is ticked (CanonicalName), then run a replace on each line to remove the domain name, and
# the users full name leaving just Users/...
# Finally exports a CSV to your user profile in "AD Report for Users - 28 02 2018 - 12.45.csv" format.
IF (($ADREPORT.ShowDialog()) -eq "OK")
{ IF ($USERBOX.Checked)
{ $ADVARIABLES = @()
$USERS = @()
Write-Host "Performing a search of all users on Active Directory. This part can take a minute or so" -f Green ; ""
Get-Variable -Name OBJ* | ?{ $_.Value.Checkstate -eq 1 } | %{ $ADVARIABLES += $_.Value.Name }
$SECONDS = (Measure-Command {
$USERS += Get-ADUser -Filter * -Property $ADVARIABLES | select $ADVARIABLES | sort Name }).seconds
Write-Host $USERS.Count user accounts identified in $SECONDS seconds. -f Green ; ""
IF ($USERS.Manager -notlike $NULL)
{ $USERS | foreach-object -begin { $COUNT = 0 } -process {
$USER = $_
IF ($USER.Manager)
{ $USER.Manager = ((Get-ADUser $USER.Manager).Name).ToString() }
$COUNT = $COUNT + 1
Write-Progress -Activity "Altering Manager DN's to Manager Name" -Status "Progress: $(
$USER.Name)" -PercentComplete ($COUNT/$USERS.count * 100) } }
IF ($USER.CanonicalName)
{ Foreach ($USER in $USERS)
{ $USER.CanonicalName = $USER.CanonicalName.Substring($USER.CanonicalName.IndexOf("/") +1)
$USER.CanonicalName = $USER.CanonicalName -replace "/$($USER.Name)" } }
$USERS | Export-Csv "$env:USERPROFILE\AD Report for Users - $(Get-Date -Format "dd MMM yyyy - hh.mm").csv" -NoClobber -NoTypeInformation -Force }
IF ($OBJPCBOX.Checked)
{ $ADVARIABLES = @()
Get-Variable -Name OBJ* | ?{ $_.Value.Checkstate -eq 1 } | %{ $ADVARIABLES += $_.Value.Name }
Write-Host "Performing a search of all computers on Active Directory. This part can take a minute or so" -f Green ; ""
$PCS = @()
$PCS += Get-ADComputer -Filter * -Properties $ADVARIABLES | select $ADVARIABLES | sort SamAccountName
IF ($PCS.CanonicalName)
{ Foreach ($PC in $PCS)
{ $PC.CanonicalName = $PC.CanonicalName.Substring($PC.CanonicalName.IndexOf("/") +1)
$PC.CanonicalName = $PC.CanonicalName -replace "/$($PC.SamAccountName)$" } }
$PCS | Export-Csv "$env:USERPROFILE\AD Report for Computers - $(Get-Date -Format "dd MMM yyyy - hh.mm").csv" -NoClobber -NoTypeInformation -Force }
}
'-Properties'の代わりに' -Properties'を試しましたか? –
'Get-ADComputer'を呼び出すときに' $ ADVariables'の値は何ですか? '-Property'パラメータに空の配列を渡すと、同じエラーが発生します。例: 'Get-ADComputer -Filter * -Properties @()' –
@ShawnEsterman自分で試すことができるようにスクリプト全体を追加しました。それが機能するには編集は必要ありません。 ありがとう –