質問編集履歴

2

ソースプログラム①の誤記を訂正

2024/12/15 11:49

投稿

pokosan-21
pokosan-21

スコア1

test CHANGED
File without changes
test CHANGED
@@ -45,8 +45,8 @@
45
45
 
46
46
  tmpSTR = ""
47
47
  For Each objItem in colItem
48
- OS-name = Item.Caption
48
+ OSname = objItem.Caption
49
- Memory = Item.TotalVisibleMemorySize
49
+ Memory = objItem.TotalVisibleMemorySize
50
50
  Next
51
51
 
52
52
  ■2.変更案のコード(vbsからpowershellを呼び出し)

1

切り分け内容を追記

2024/12/14 04:38

投稿

pokosan-21
pokosan-21

スコア1

test CHANGED
File without changes
test CHANGED
@@ -17,6 +17,13 @@
17
17
  ### 発生している問題・分からないこと
18
18
  ・下記2.のコードで実装したのですが、戻り値(OS-name、Memory)が
19
19
   取得できません。( 値が取れていないか、nullになっているようです)
20
+
21
+  [12/14 追記]
22
+   エラーとしては、「For Each objItem in colItem」行のところで、
23
+  「オブジェクトでサポートされていないプロパティまたはメソッドです。」
24
+   のエラーが発生してしまいます。
25
+   配列で出力した(つもりの)データに対して、for eachでの配列の取り出しが
26
+  うまく行っていないようです・・
20
27
 
21
28
  ・下記1.の元のコードでは、OS-name、Memoryの値が取得できています。
22
29
 
@@ -51,8 +58,8 @@
51
58
 
52
59
  tmpSTR = ""
53
60
  For Each objItem in colItem
54
- OS-name = Item.Caption
61
+ OS-name = objItem.Caption
55
- Memory = Item.TotalVisibleMemorySize
62
+ Memory = objItem.TotalVisibleMemorySize
56
63
  Next
57
64
 
58
65
  ※補足
@@ -61,6 +68,19 @@
61
68
   Set colItem = objShell.Exec(objExec) の後に、
62
69
   colItem = objExec.StdOut.ReadAll の標準出力を追加し、
63
70
   これをfor eachで参照してみたのですが、やはり戻り値は取得できないようです。
71
+
72
+  [12/14 追記]
73
+  問題切り分けの為、Powershell上から下記のコードを実行したところ、応答が返ってきました。
74
+
75
+  [実行コマンド]
76
+  PS C:\WINDOWS\system32> Get-CimInstance -Classname Win32_OperatingSystem | Select-Object Caption, TotalVisibleMemorySize
77
+
78
+  [結果]
79
+ Caption TotalVisibleMemorySize
80
+ ------- ----------------------
81
+ Microsoft Windows 11 Home 31388688
82
+
83
+
64
84
  ```
65
85
 
66
86
  ### 試したこと・調べたこと