- HOME
- [1]
- [2]
- [3]
- [4]
- [5]
- [6]
- [7]
- [8]
×[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
# 要素への処理 for 要素 in リスト if 条件式
ppap = ["Pen", "Pico", "Pico", "Pineapple", "Pico", "Apple", "Pen", "Pico"]
new_ppap = [p*2 for p in ppap if p != "Pico"]
print(new_ppap)
[0回]
PR
手順が詳細にわかっているために、WBSの項目がその手順に
引きずられて細かくなってしまいがちですが、
これはよくあることですが、WBSの目的を見失いがちな点でもあります。
では、どのように修正すればいいのでしょうか。そのポイントを書き出してみます。
<WBSの目的とは?>
WBSの目的は、プロジェクト全体の作業を階層的に分解し、全体像を把握することです。
詳細な手順は、WBSの各項目に対して作成する作業計画書などに記述するのが一般的です。
WBSの粒度を調整するポイント
<作業の目的を見極める>
各作業の目的は何ですか?
その目的を達成するために、どのようなアウトプットが必要ですか?
アウトプットを達成するために必要な最小限の作業は何か?
<管理の視点で考える>
この作業を誰が担当しますか?
進捗をどのように確認しますか?
問題が発生した場合、どこで対応しますか?
<8/80ルールを参考に>
1つの作業にかかる時間が、8時間以上80時間以下になるように
調整すると、粒度が適切になることが多いです。
<詳細な手順は別途管理>
WBSでは、作業の目的とアウトプットを明確にし、
詳細な手順は作業計画書などに記述します。
具体的にどのように調整するか?
例えば、「資料作成」という作業が非常に細かく分かれているとします。
現状:
資料作成
→資料構成を考える
→資料の骨組みを作成
→資料のデザインを決める
→資料を書く
→図表を作成
→資料を修正する
調整後: 資料作成(資料構成、骨組み作成、デザイン決定、執筆、図表作成、修正を含む)
このように、目的が同じ作業はまとめることで、粒度を調整できます。
<まとめ>
WBSは、プロジェクト全体を俯瞰するためのツールです。
詳細な手順にこだわりすぎず、目的を達成するために必要な
最小限の作業に焦点を当てて、適切な粒度でWBSを作成することが重要です。
[0回]
# リモートサーバー名と共有フォルダ名、出力先を指定
$remoteServer = "NameServer01"
$shareName = "G$"
$outputPath = "C:\Temp"
# 出力ファイル名(タイムスタンプ付き)
$outputFile = Join-Path $outputPath ("$($shareName)_DriveInfo_$(Get-Date -Format yyyyMMdd_HHmmss).csv")
# リモートGドライブの情報を取得し、CSVファイルに出力
Get-ChildItem -Path "\\$remoteServer\$shareName" -Recurse | Select-Object Name, LastWriteTime, FullName | Export-Csv -Path $outputFile -NoTypeInformation
# 結果を表示
Write-Host "結果を以下のファイルに出力しました:" $outputFile
[0回]
カレントディレクトリ配下のディレクトリを再帰的に検索して
1GB以上のファイルをDドライブに出力している。
Get-ChildItem -Recurse -Force | Where-Object {$_.Length -gt 1GB} | Select-Object FullName, @{Name='SizeGB';Expression={$_.Length / 1GB}} > D:\largefiles.txt
[0回]
とりあえず形にしました。
#
# Cドライブの空き容量が90GBを下回った場合にのみメッセージを出力したい場合
#
# 監視対象ドライブ
$targetDrive = "C"
# しきい値(GB単位)
$threshold = 90
# パスワードファイルのパス
$credentialFile = "C:\passwords.txt"
# パスワードファイルからユーザー名とパスワードを読み込む
$credentials = Get-Content $credentialFile | ConvertFrom-Csv
# 各サーバに対して処理を実行
foreach ($server in $servers) {
$credential = $credentials | Where-Object { $_.ServerName -eq $server }
# Credentialオブジェクトを作成
$credentialObject = New-Object System.Management.Automation.PSCredential (
$credential.Username,
(ConvertTo-SecureString $credential.Password -AsPlainText -Force)
)
try {
# サーバに接続し、ディスク容量を取得
Invoke-Command -ComputerName $server -Credential $credentialObject -ScriptBlock {
$volume = Get-Volume -DriveLetter $using:targetDrive
if ($volume.Available -lt $using:threshold * 1GB) {
Write-EventLog -LogName Application -Source "DiskSpaceMonitor" -EventID 1001 -Message
"ドライブ$($volume.DriveLetter)の空き容量がしきい値を下回っています。$($volume.Available / 1GB:N2) GB"
}
}
}
catch {
Write-Warning "サーバー $server への接続に失敗しました: $($_.Exception.Message)"
}
}
[0回]