私はホスティングしているすべてのサーバーに入り、特定のグループのすべてのメンバーとドメイン名を取得し、ファイルにエクスポートするスクリプトを作成しています。私はユーザーとドメイン名を2つの配列に保存しています。AA(ユーザー配列)とDA(ドメイン配列)AAはanvändararrayを表し、 "användare"はスウェーデン語のユーザーです。関数の後に配列が削除されましたか?
エクスポート手順がうまくいかず、ユーザーやドメイン名もエクスポートされていないことに気がつきました。そのため、関数でそれらを印刷しようとしました。しかし、それは何も印刷しないので、私は別の場所に印刷しようとしました(動作しませんでした)。いくつかの実験の後、配列が実際に何らかの情報を含んでいる唯一の場所はforeachループ内にあり、私が見つけたユーザーを保存するということです。ここで
コード
unction GetData([int]$p) {
Write-Host("B")
for ($row = 1; $row -le $UsernamesArray.Length; $row++)
{
if($CloudArray[$row] -eq 1)
{
.
$secstr = New-Object -TypeName System.Security.SecureString
$PasswordsArray[$row].ToCharArray() | ForEach-Object {$secstr.AppendChar($_)}
$cred = new-object -typename System.Management.Automation.PSCredential -argumentlist $UsernamesArray[$row], $secstr
$output = Invoke-Command -computername $AddressArray[$row] -credential $cred -ScriptBlock {
Import-Module Activedirectory
foreach ($Anvandare in (Get-ADGroupMember fjärrskrivbordsanvändare))
{
$AA = @($Anvandare.Name)
$DA = gc env:UserDomain
#$DA + ";" + $Anvandare.Name
$DA + ";" + $AA
}
}
$output
}
}
$DA
$AA
}
function Export {
Write-Host("C")
$filsökväg = "C:\Users\322sien\Desktop\Coolkids.csv"
$ColForetag = "Företag"
$ColAnvandare = "Användare"
$Emptyline = "`n"
$delimiter = ";"
for ($p = 1; $p -le $DomainArray.Length; $p++) {
$ColForetag + $delimiter + $ColAnvandare | Out-File $filsökväg
$DA + $delimiter + $AA | Out-File $filsökväg -Append
}
}
ReadInfo
GetData
Export
で誰もがこれで私を助けることができますか?私はこの一日中座っており、私は解決策を見つけることができません。
どのように配列を呼び出す必要がありますか? '$ AA'や' $ script:AA' @AgentKと同じように、私は両方の方法を試みましたが、何も起こりません... – tTim
ああ、btw。 FOREACHループ内の値だけを出力することができます。ループ外の同じ関数でも値を出力することはできません。私たちがこれ以上議論するチャットを始めることができれば、それはすばらしいでしょう – tTim
私は毎分オンラインにすることはできません。誰かを傷つけるつもりはありませんでした。とにかく、PSObjectのようなものを使って有効なデータを出力する必要があります。私は答えを修正します。 –