ユーザー名または電子メールアドレス(どちらでも構いません)、会社(Exchange管理コンソールのユーザーアカウントの[組織]タブにある[会社]フィールドから)、およびライセンスの種類(例:Exchange Online e1を交換)をエクスポートできる必要がありますオンラインキオスクなどの交換...)
2つのステートメントの両方の値を2つの別々のファイルにエクスポートできますが、それはあまり役に立ちません。
ユーザー名とライセンスタイプを次のようにエクスポートできます。
Get-MSOLUser | % { $user=$_; $_.Licenses | Select {$user.displayname},AccountSKuid } | Export-CSV "sample.csv" -NoTypeInformation
そして、私は以下で企業価値を得ることができます:
Get-User | select company | Export-CSV sample.csv
別のフォーラムの誰かがこれを提案しました-
$index = @{}
Get-User | foreach-object {$index.Add($_.userprincipalname,$_.company)}
Get-MsolUser | ForEach-Object { write-Host $_.userprincipalname, $index[$_.userprincipalname], $_.licenses.AccountSku.Skupartnumber}
動作するようですが、Powershellにライセンス情報が表示されず、空白になっています。また、それをcsvファイルにエクスポートする方法もわかりません。
任意の助けいただければ幸いです。ありがとう。
最新のコマンドレットをサポートするためのわずかな修正:
$lines = @() foreach($msolUser in (Get-MSOLUser -All)) {
$UserInfo = Get-MSOLUser -UserPrincipalName $msolUser.UserPrincipalName
foreach($license in $msolUser.Licenses)
{
$lines += New-Object PsObject -Property @{
"Username"="$($UserInfo.DisplayName)";
"Company"="$($UserInfo.Company)";
"AccountSKUID"="$($license.AccountSKUid)"
}
} } $lines | Export-CSV C:\output.csv -NoTypeInformation
それは私には完璧に働きました。
これにより、ライセンスされたユーザーがライセンスタイプとともにエクスポートされます
Get-MsolUser -All |
Where {$_.IsLicensed -eq $true } |
Select DisplayName,UsageLocation,@{n="Licenses Type";e={$_.Licenses.AccountSKUid}},SignInName,UserPrincipalName,@{n="ProxyAddresses";e={$_.ProxyAddresses}} |
Export-Csv -Path C:\_Cory\Test.csv -NoTypeInformation
最初の例ではAccountSkuId
プロパティを選択し、2番目の例ではAccountSKU.SkuPartNumber
(これは存在しないと確信しています)。
あなたはスクリプトです/ワンライナーも読みやすくありません、これはどうですか?
$lines = @()
foreach($msolUser in (Get-MSOLUser))
{
$UserInfo = Get-User -Identity $msolUser.UserPrincipalName
foreach($license in $msolUser.Licenses)
{
$lines += @{
"Username"="$($UserInfo.DisplayName)";
"Company"="$($UserInfo.Company)";
"AccountSKUID"="$($license.AccountSKUid)"
}
}
}
$lines | Export-CSV C:\output.csv -NoTypeInformation
概要を取得して維持するのがはるかに簡単です。
このスクリプトはうまく機能しましたが、CSVに直接エクスポートすることができなかったため、Excelへのコピー/貼り付けを使用しました。
Get-MsolUser -all | Where-Object {$_.isLicensed -eq "True"} | Select UserPrincipalName,DisplayName,Licenses | Out-GridView
私はこれをテストしました、そしてあなたの助けを本当にありがとう
$lines = @()
foreach($msolUser in (Get-MSOLUser -ALL | where {$_.isLicensed -eq $true}))
{
$UserInfo = Get-User -identity $msolUser.UserPrincipalName
foreach($license in $msolUser.Licenses)
{
$lines += New-Object PsObject -Property @{
"Nom/Prenom"="$($UserInfo.DisplayName)";
"Societe"="$($UserInfo.Company)";
"AdressePrincipale"="$($UserInfo.UserPrincipalName)";
"Licences"="$($license.AccountSKUid)"
}
}
}
$lines | Export-CSV C:\out1.csv -Delimiter ";" -Encoding Unicode
PowerShellやスクリプトを知らないので、標準のWindows機器で powershell Export log プロセス全体を自動化する必要があります。助けることができる多くのサードパーティのツールがあります。それらを検索してみてください。それはあなたの仕事を容易にします